6

我有在 32 位和 64 位操作系统上运行的 ac# 应用程序。在我的应用程序中,我如何以编程方式检查计算机上是否安装了solidworks。如果我们可以通过读取注册表项来检查它,请提供我的路径适用于 32 位和 64 位。告诉我是否还有其他方法可以检查它。

4

3 回答 3

5

您可以按如下方式使用 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;           
}
于 2010-05-24T08:40:03.430 回答
2

如果安装了应用程序,是否需要启动 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
于 2015-07-31T15:08:58.193 回答
0



这是给初学者的……
我认为有很多方法可以检查是否安装了 Solidworks,但是根据我的观点,当安装 Solidworks 时,它会在注册表中创建一些文件夹。

只需按照以下步骤进行检查...

打开运行
在其中输入regedit然后按 Enter
Allow 'User access control' 通过单击 Yes
Go 在 HKEY_LOCAL_MACHINE -> SOFTWARE

现在检查是否有Solidwork可用的文件夹条目
如果找到安装了solidworks的文件夹,否则没有..!

希望这会有所帮助!

于 2016-03-09T06:06:37.037 回答