Проверьте, установлен ли Solidworks? - PullRequest
5 голосов
/ 24 мая 2010

У меня есть приложение ac #, которое работает как в 32-битной, так и в 64-битной ОС. В моем приложении как программно проверить, установлена ​​ли SolidWorks на компьютере или нет. Если мы можем проверить это, прочитав раздел реестра, укажите путь как для 32-разрядного, так и для 64-разрядного. Скажите, есть ли другие способы проверить это также.

Ответы [ 3 ]

4 голосов
/ 24 мая 2010

Вы можете использовать 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 голос
/ 31 июля 2015

Нужно ли приложению запускать 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 голосов
/ 09 марта 2016



Это для начинающих ....
Я думаю, что есть много способов проверить, установлена ​​ли Solidworks или нет, но, с моей точки зрения, когда Solidworks установлен, он создает несколько папок в реестре.

Просто выполните следующие шаги, чтобы проверить это ...

Открыть запустить
Введите regedit и нажмите Введите
Разрешить «Контроль доступа пользователя», нажав на Да
Перейти к HKEY_LOCAL_MACHINE -> ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Теперь проверьте, есть ли Solidwork запись в папке доступна или нет
Если папка найдена, SolidWorks установлен, иначе нет ..!

надеюсь, это поможет!

...