Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для serg_ssa

Пользователь


Сообщения: 67
Благодарности: 18

Профиль | Отправить PM | Цитировать


romeo91, Ну неправильный подход инфы сканить. Вообще в грамотно написанной программе обычно юзают SetupDiххх функции вместо devcon и никаких текстовых файлов не парсят. Код неочень большой, но я везде видел только на с++.
В vb6 можно гораздо проще - такой vbs-скрипт прикрутить, но это опятьже менее правильно.
читать дальше »

Код: Выделить весь код
On Error Resume Next

strComputer = "."
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("c:\777.txt", True)
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_PnPSignedDriver")

For Each objItem in colItems
if Not IsNull(objItem.HardWareID) then
objTextFile.WriteLine ""
'    objTextFile.WriteLine "Class GUID: " & objItem.ClassGuid
    objTextFile.WriteLine "Description: " & objItem.Description
'    objTextFile.WriteLine "Device ID: " & objItem.DeviceID
    objTextFile.WriteLine "Hardware ID: " & objItem.HardWareID
'    objTextFile.WriteLine "Manufacturer: " & objItem.Manufacturer
'    objTextFile.WriteLine "Name: " & objItem.Name
    objTextFile.WriteLine "PNP Device ID: " & objItem.PNPDeviceID
'    objTextFile.WriteLine "Service: " & objItem.Service

'    objTextFile.WriteLine "Driver Provider Name: " & objItem.DriverProviderName
    dtmWMIDate = objItem.DriverDate
    strReturn = WMIDateStringToDate(dtmWMIDate)

    objTextFile.WriteLine "Driver Date: " & strReturn

    objTextFile.WriteLine "Driver Version: " & objItem.DriverVersion
    objTextFile.WriteLine "INF Name: " & objItem.InfName
end if

Next
objTextFile.Close

Function WMIDateStringToDate(dtmWMIDate)
    If Not IsNull(dtmWMIDate) Then
    WMIDateStringToDate = CDate(Mid(dtmWMIDate, 5, 2) & "/" & _
         Mid(dtmWMIDate, 7, 2) & "/" & Left(dtmWMIDate, 4) _
             & " " & Mid (dtmWMIDate, 9, 2) & ":" & _
                 Mid(dtmWMIDate, 11, 2) & ":" & Mid(dtmWMIDate,13, 2))
    End If
End Function
Вместо вывода в файл напрямую брать инфу в прогу, сравнивая HardWareID

Отправлено: 14:45, 01-07-2009 | #424