Список установленных программ

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
djande
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 19.02.2010 (Пт) 20:39

Список установленных программ

Сообщение djande » 17.03.2010 (Ср) 20:12

Доброго времени суток! Мне на VB6 нужно вывести список всех установленных программ в Windows. Например, как это сделано в Панель управления -> Установка и удаление программ. И ещё надо узнать пути к этим всем программам. Помогите пожалуйста.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Список установленных программ

Сообщение Antonariy » 17.03.2010 (Ср) 22:29

WMI Win32_Product
Закройте, пока профессионалы не опплевались.
Лучший способ понять что-то самому — объяснить это другому.

djande
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 19.02.2010 (Пт) 20:39

Re: Список установленных программ

Сообщение djande » 18.03.2010 (Чт) 18:51

Antonariy, подскажите поподробнее. Я нашел код, который определяет не установлен ли MS OFFICE?

Код: Выделить всё
Sub Example()
Dim objWMI As Object
Dim softCollection As Object
Dim objSoft As Object
Dim listSoft As String
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set softCollection = objWMI.ExecQuery("select * from Win32_Product where Vendor = 'Microsoft Corporation'")
For Each objSoft In softCollection
        If StrComp(Mid(objSoft.Caption, 1, 16), "Microsoft Office", vbTextCompare) = 0 Then
                listSoft = listSoft & objSoft.Caption & vbTab & objSoft.Version & vbCr
        End If
Next
If Len(listSoft) > 0 Then
        MsgBox "Установленное ПО:" & vbCr & listSoft
Else
        MsgBox "Искомое ПО не установлено"
End If
End Sub


А как мне узнать, список всех установленных программ?

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Список установленных программ

Сообщение Antonariy » 19.03.2010 (Пт) 10:30

Убрать where vendor… и If StrComp…
Лучший способ понять что-то самому — объяснить это другому.

djande
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 19.02.2010 (Пт) 20:39

Re: Список установленных программ

Сообщение djande » 19.03.2010 (Пт) 14:29

Antonariy, убрал, всё равно не работает, что нужно, чтобы вывести полный список программ, установленных на компьютере

Код: Выделить всё
Sub Example()
Dim objWMI As Object
Dim softCollection As Object
Dim objSoft As Object
Dim listSoft As String

Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

If Len(listSoft) > 0 Then
        MsgBox "Установленное ПО:" & vbCr & listSoft
Else
        MsgBox "Искомое ПО не установлено"
End If
End Sub

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Список установленных программ

Сообщение Денис » 19.03.2010 (Пт) 14:38

djande писал(а):Antonariy, убрал, всё равно не работает, что нужно, чтобы вывести полный список программ, установленных на компьютере

Код: Выделить всё
Sub Example()

End Sub


Вы вместе с водой выплеснули ребенка. Select надо было оставить. И For Each тоже.

Вот так:
Код: Выделить всё
Option Explicit

Private Sub CommandButton1_Click()

Dim objWMI As Object
Dim softCollection As Object
Dim objSoft As Object
Dim listSoft As String

    Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set softCollection = objWMI.ExecQuery("select * from Win32_Product")

    For Each objSoft In softCollection
        ListBox.AddItem objSoft.Caption & vbTab & objSoft.Version
    Next

End Sub
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

djande
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 19.02.2010 (Пт) 20:39

Re: Список установленных программ

Сообщение djande » 19.03.2010 (Пт) 14:45

Денис, огромное спасибо, а пути я к ним могу узнать например C:\Program\PhCs3\s.exe, и могу я эти программы удалить из системы при желании?
Последний раз редактировалось djande 19.03.2010 (Пт) 14:51, всего редактировалось 1 раз.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Список установленных программ

Сообщение Денис » 19.03.2010 (Пт) 14:50

djande писал(а):Денис, огромное спасибо, а пути я к ним могу узнать, и могу я их удалить при желании?

Я не знаю...
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

djande
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 19.02.2010 (Пт) 20:39

Re: Список установленных программ

Сообщение djande » 19.03.2010 (Пт) 14:52

Кто знает?

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Список установленных программ

Сообщение Antonariy » 19.03.2010 (Пт) 15:04

Яндекс.
Вторая ссылка, если поискать те слова, что я указал с самого начала.
Лучший способ понять что-то самому — объяснить это другому.

djande
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 19.02.2010 (Пт) 20:39

Re: Список установленных программ

Сообщение djande » 19.03.2010 (Пт) 15:13

Разобрался, всем спасибо, кто помог


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 41

    TopList