我有一个在32位和64位操作系统上运行的ac#应用程序。在我的应用程序中,如何以编程方式检查solidworks是否已安装在计算机上。如果我们可以通过读取注册表项来检查它,那么为我提供了32位和64位的路径。如果还有其他方法可以检查它,请告诉我。
答案 0 :(得分: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 :(得分: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
答案 2 :(得分:0)
这适合初学者....
我想有很多方法可以检查是否安装了Solidworks,
但根据我的观点,安装Solidworks时会在注册时创建一些文件夹。
只需按照以下步骤进行检查......
打开运行,在其中输入 regedit ,然后按 输入单击允许“用户访问控制” 是
转到HKEY_LOCAL_MACHINE - > 软件的
现在检查 Solidwork
文件夹条目是否可用
如果文件夹找到solidworks,否则不安装..!