2010-05-24 386 views
5

我有在32位和64位操作系統上運行的ac#應用程序。在我的應用程序中,如何編程檢查solidworks是否安裝在計算機上。如果我們可以通過讀取註冊表項來檢查它,我的路徑爲32位和64位。告訴我,如果還有其他方式來檢查它。檢查Solidworks是否安裝?

回答

4

你可以使用WMI如下

private static bool IsInstalled(string ProductName) 
{ 

    bool rv = false; 
    ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Product"); 
    ManagementObjectCollection Products = searcher.Get(); 
    if (Products.Count != 0) 
    { 
     foreach (ManagementObject product in Products) 
     { 
      if (product.Properties["Name"].Value.ToString() == ProductName) 
      { 
       rv = true; 
      } 
     } 
    } 
    return rv;   
} 
+1

我會在ManagementObjectSearcher和ManagementObjectCollection周圍引用'using'語句以確保它們被正確處置。 – SwDevMan81 2010-05-24 11:42:16

+0

當產品通過'return true'替換'rv = true'時,您可以打破'foreach'循環('rv'聲明變得不必要) – alex 2016-02-27 15:36:27

1

申請是否需要,如果它安裝到啓動的SolidWorks?如果是這樣,我開始我所有的單機(非插件)的SolidWorks工具,

Public swApp As SldWorks.SldWorks 

Function GetSolidWorks(ForceLaunch As Boolean) As Boolean 
    If Not swApp Is Nothing Then 
     SetSolidWorksVisibility() 
     Return True 
    Else 
     Try 
      swApp = GetObject(, "SldWorks.Application") 
      If swApp Is Nothing Then Return False 

      SetSolidWorksVisibility() 
      Return True 
     Catch ex As Exception 
      If Not ForceLaunch Then Return False 

      swApp = CreateObject("SldWorks.Application") 
      If swApp Is Nothing Then Return False 

      SetSolidWorksVisibility() 

      'simple timer to wait for solidworks to repond 
      System.Threading.Thread.Sleep(5000) 

      Return True 
     End Try 
    End If 
End Function 

Private Sub SetSolidWorksVisibility() 
    If Not swApp.Visible Then swApp.Visible = True 
    If Not swApp.FrameState = SwConst.swWindowState_e.swWindowMaximized Then swApp.FrameState = SwConst.swWindowState_e.swWindowMaximized 
End Sub 
0



這是beginers ....
我覺得有很多的方法來檢查是否SolidWorks是安裝或不, 但根據我的觀點,當安裝Solidworks時,它會在registery中創建一些文件夾。

只要按照這個步驟來檢查它...

打開運行
註冊表編輯器在和按點擊 輸入
允許「用戶訪問控制」是

Go to HKEY_LOCAL_MACHINE - >軟件

現在檢查有Solidwork文件夾條目是否可用
如果文件夾中找到安裝否則不會SolidWorks的..!

希望這會有所幫助!