VB 5/6-Tipp 0420: Prozessortyp ermitteln
von Orti
Beschreibung
Der jeweilige Prozessortyp steht in der Registry und kann von daher mit einem einamligen Zugriff ausgelesen werden.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: RegCloseKey, RegOpenKeyExA (RegOpenKeyEx), RegQueryValueExA (RegQueryValueEx) | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- ' Es muss ein Verweis auf 'Standard OLE Types' gesetzt werden. '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Schaltfläche "Command1" ' Steuerelement: Beschriftungsfeld "Label2" ' Steuerelement: Beschriftungsfeld "Label1" 'Autor: Orti 'Email: orti@planet-interkom.de Option Explicit Private Declare Function RegOpenKeyEx Lib "advapi32.dll" _ Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal _ lpSubKey As String, ByVal ulOptions As Long, ByVal _ samDesired As Long, phkResult As Long) As Long Private Declare Function RegCloseKey Lib "advapi32.dll" _ (ByVal hKey As Long) As Long Private Declare Function RegQueryValueEx Lib "advapi32.dll" _ Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal _ lpValueName As String, ByVal lpReserved As Long, _ lpType As Long, lpData As Any, lpcbData As Any) As Long Const HKEY_LOCAL_MACHINE As Long = &H80000002 Const KEY_QUERY_VALUE As Long = &H1& Const KEY_ENUMERATE_SUB_KEYS As Long = &H8& Const KEY_NOTIFY As Long = &H10& Const KEY_READ = KEY_QUERY_VALUE Or _ KEY_ENUMERATE_SUB_KEYS _ Or KEY_NOTIFY Const ERROR_SUCCESS As Long = 0& Const REG_SZ As Long = 1& Function RegValueGet(Root As Long, Key As String, Field As String, _ Value As Variant) As Long Dim Result As Long, hKey As Long, dwType As Long Dim Lng As Long, l As Long Dim Buffer As String 'Wert aus einem Feld der Registry auslesen Result = RegOpenKeyEx(Root, Key, 0, KEY_READ, hKey) If Result = ERROR_SUCCESS Then Result = RegQueryValueEx(hKey, Field, 0&, dwType, ByVal 0&, l) If Result = ERROR_SUCCESS Then If dwType = REG_SZ Then Buffer = Space$(l + 1) Result = RegQueryValueEx(hKey, Field, 0&, _ dwType, ByVal Buffer, l) If Result = ERROR_SUCCESS Then Value = Buffer End If End If End If If Result = ERROR_SUCCESS Then Result = RegCloseKey(hKey) RegValueGet = Result End Function Private Sub Command1_Click() Dim Result As Long Dim Value As Variant 'Prozessortyp auslesen Result = RegValueGet(HKEY_LOCAL_MACHINE, _ "Hardware\Description\System\" & _ "CentralProcessor\0", _ "Identifier", Value) If Result = 0 Then Label1.Caption = CStr(Value) Label2.Caption = "Ok" Else Label1.Caption = "" Label2.Caption = "Fehler" End If End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 3 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Günter Getrost am 28.01.2003 um 14:04
Hallo,
Wie kann ich den String "x86 Family 6 Model 7 Stepping 0" auswerten ?
Gibt es hierfür eine Tabelle?
Kommentar von Günter Getrost am 24.01.2003 um 10:14
Kommentar von ph03n1x am 07.07.2002 um 23:37
Wieso funktioniert das mit DWORD-werten nicht? Wie muss man diese einlesen?