Code: Alles auswählen
RegOpenKeyEx_(#HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\mssmbios\Data", 0,#KEY_READ, @hkey)
RegQueryValueEx_(hkey, "SMBiosData", 0, @lType.l, 0, @laenge.l) ;länge ermitteln
*MemoryID = AllocateMemory(laenge)
RegQueryValueEx_(hkey, "SMBiosData", 0, @lType, *MemoryID, @laenge)
RegCloseKey_(hkey)
For i= 0 To laenge - 1
If PeekB(*MemoryID + i) > 32
a$ + Chr(PeekB(*MemoryID + i) )
ElseIf PeekB(*MemoryID + i) = 0
a$+";"
EndIf
Next
FreeMemory(*MemoryID)
a$ = ReplaceString(a$, ";;;;;", ";", 1, 1)
a$ = ReplaceString(a$, ";;;;", ";", 1, 1)
a$ = ReplaceString(a$, ";;;", ";", 1, 1)
a$ = ReplaceString(a$, ";;", ";", 1, 1)
Debug a$
So ist es ~halbwegs~ lesbar. Rest ist Stringhandling.
