0
I’m searching and can’t find a VB6 function to fetch the machine’s BIOS by running the system.
Can someone help me?
0
I’m searching and can’t find a VB6 function to fetch the machine’s BIOS by running the system.
Can someone help me?
1
Option Explicit
Private m_mainWmi As Object
Private m_deviceLists As Collection
Private Function GetMainWMIObject() As Object
On Error GoTo eh
If m_mainWmi Is Nothing Then
Set m_mainWmi = GetObject("WinMgmts:")
End If
Set GetMainWMIObject = m_mainWmi
Exit Function
eh:
Set GetMainWMIObject = Nothing
End Function
Public Function WmiIsAvailable() As Boolean
WmiIsAvailable = CBool(Not GetMainWMIObject Is Nothing)
End Function
Public Function GetWmiDeviceSingleValue(ByVal WmiClass As String, ByVal WmiProperty As String) As String
On Error GoTo done
Dim result As String
Dim wmiclassObjList As Object
Set wmiclassObjList = GetWmiDeviceList(WmiClass)
Dim wmiclassObj As Object
For Each wmiclassObj In wmiclassObjList
result = CallByName(wmiclassObj, WmiProperty, VbGet)
Exit For
Next
done:
GetWmiDeviceSingleValue = Trim(result)
End Function
Public Function GetWmiDeviceList(ByVal WmiClass As String) As Object
If m_deviceLists Is Nothing Then
Set m_deviceLists = New Collection
End If
On Error GoTo fetchNew
Set GetWmiDeviceList = m_deviceLists.Item(WmiClass)
Exit Function
fetchNew:
Dim devList As Object
Set devList = GetWmiDeviceListInternal(WmiClass)
If Not devList Is Nothing Then
Call m_deviceLists.Add(devList, WmiClass)
End If
Set GetWmiDeviceList = devList
End Function
Private Function GetWmiDeviceListInternal(ByVal WmiClass As String) As Object
On Error GoTo eh
Set GetWmiDeviceListInternal = GetMainWMIObject.Instancesof(WmiClass)
Exit Function
eh:
Set GetWmiDeviceListInternal = Nothing
End Function
Private Sub Form_Load()
Dim CPU As String
CPU = GetWmiDeviceSingleValue("Win32_Processor", "ProcessorID")
Text1.Text = CPU
Dim BIOS As String
BIOS = GetWmiDeviceSingleValue("Win32_BIOS", "SerialNumber")
Text2.Text = BIOS
End Sub
Browser other questions tagged visual-basic-6
You are not signed in. Login or sign up in order to post.
In the previous answer I put to capture the drive. Our fault. Now this is for bios.
– Marcelo Macedo
Okay. VLW thank you.
– Lucio Mestrinare