2016-09-26 1 views
2

릴리스 및 서비스 팩 (적용되는 경우)을 알기 위해 Solidworks 설치를 감지하고 싶습니다. 내가 찾은 한 regisdtry 키 그 정보를 얻을 수있는 또 다른 방법이 있나요 HKML/SOLIDWORK/설정 "소스 설치" "하지만 일부 컴퓨터는이 키 빈 이?Solidworks 설치 감지 릴리스 및 서비스 팩

감사

답변

2

당신은 언어를 지정하지 않은 그래서 정확한 구문과 함께 당신을 도울 수 있지만, 솔리드 웍스 API를 사용하여, 당신은 ISldWorks에 RevisionNumber 방법을 얻을 수있는 객체 문서에 따르면. 초기 공개 릴리스하기 전에 모든 SOLIDWORKS 실행을 위해

SOLIDWORKS 2000의 경우이 메서드는 1.0.0을 반환합니다. 초기 공용 SOLIDWORKS 2000 릴리스의 경우이 메서드는 8.0.0을 반환합니다. SOLIDWORKS 2000 SP1의 경우이 메서드는 8.1.0을 반환하고 SOLIDWORKS 2000의 각 연속 서비스 팩 은 반환 값의 맨 왼쪽 소수점을 증가시킵니다. 연속적으로 공개되는 각 공개 버전은 반환 값의 부분을 소수점 왼쪽에있는 만큼 증가시키고 각각의 초기 공개 버전 은 십진수 0.0을 갖습니다. 예제의 경우 SOLIDWORKS 2005의 초기 공개 버전은 13.0.0 을 반환하지만 SOLIDWORKS 2005 SP0.1은 13.0.1을 반환하고 SOLIDWORKS 2005 SP1 은 13.1.0을 반환합니다.

알파, 베타 및 시험판 출시 제외 마이너 버전을 번호 반환

:

a1 : -1.0

B1 : -2.0

B2 : -3.0

B3을 : -4.0

PR1 : -5.0 (이 값은 베타 릴리스 수에 따라 더 낮거나 높을 수 있습니다.)

012 3,516,

예를 들어, SOLIDWORKS 2015 베타 2에 대한 반환 값은 23-3.0.b1이었다

소스 : SOLIDWORKS ISldWorks.GetRevision() documentation

+0

답장을 보내 주셔서 감사합니다. 최대한 빨리 테스트 해 보겠습니다. –

0

이 당신이 찾고있는 무엇인가?

using SolidWorks.Interop.sldworks; 
using System; 

namespace Sample 
{ 
    class Program 
    { 
     const string appString = "SldWorks.Application"; 

     static void Main(string[] args) 
     { 
      SldWorks swApp = null; 

      try 
      { 
       swApp = (SldWorks)System.Runtime.InteropServices.Marshal.GetActiveObject(appString); 
       if (swApp == null) throw new NullReferenceException(nameof(swApp)); 
      } 
      catch (Exception) 
      { 
       try 
       { 
        swApp = (SldWorks)Activator.CreateInstance(Type.GetTypeFromProgID(appString)); 
        if (swApp == null) throw new NullReferenceException(nameof(swApp)); 
       } 
       catch (Exception) 
       { 
        Console.WriteLine("Could not get SolidWorks Version"); 
       } 
      } 

      if (swApp != null) Console.WriteLine("SolidWorks Version: {0}", swApp.RevisionNumber()); 
      Console.ReadLine(); 
     } 
    } 
}