Unser heutige Tipp zeigt, wie sich einige wichtige Eckdaten des installierten Prozessors ermitteln lassen:
Fügen Sie hierzu nachfolgenden Code in ein Modul ein: Option Explicit ' Benötigte API-Deklarationen Private Const PROCESSOR_INTEL_386 As Long = 386 Private Const PROCESSOR_INTEL_486 As Long = 486 Private Const PROCESSOR_INTEL_PENTIUM As Long = 586 Private Const PROCESSOR_MIPS_R4000 As Long = 4000 Private Const PROCESSOR_ALPHA_21064 As Long = 21064 Private Const PROCESSOR_PPC_601 As Long = 601 Private Const PROCESSOR_PPC_603 As Long = 603 Private Const PROCESSOR_PPC_604 As Long = 604 Private Const PROCESSOR_PPC_620 As Long = 620 Private Const PROCESSOR_HITACHI_SH3 As Long = 10003 ' Windows CE Private Const PROCESSOR_HITACHI_SH3E As Long = 10004 ' Windows CE Private Const PROCESSOR_HITACHI_SH4 As Long = 10005 ' Windows CE Private Const PROCESSOR_MOTOROLA_821 As Long = 821 ' Windows CE Private Const PROCESSOR_SHx_SH3 As Long = 103 ' Windows CE Private Const PROCESSOR_SHx_SH4 As Long = 104 ' Windows CE Private Const PROCESSOR_STRONGARM As Long = 2577 ' Windows CE - 0xA11 Private Const PROCESSOR_ARM720 As Long = 1824 ' Windows CE - 0x720 Private Const PROCESSOR_ARM820 As Long = 2080 ' Windows CE - 0x820 Private Const PROCESSOR_ARM920 As Long = 2336 ' Windows CE - 0x920 Private Const PROCESSOR_ARM_7TDMI As Long = 70001 ' Windows CE Private Const PROCESSOR_ARCHITECTURE_INTEL As Long = 0 Private Const PROCESSOR_ARCHITECTURE_MIPS As Long = 1 Private Const PROCESSOR_ARCHITECTURE_ALPHA As Long = 2 Private Const PROCESSOR_ARCHITECTURE_PPC As Long = 3 Private Const PROCESSOR_ARCHITECTURE_SHX As Long = 4 Private Const PROCESSOR_ARCHITECTURE_ARM As Long = 5 Private Const PROCESSOR_ARCHITECTURE_IA64 As Long = 6 Private Const PROCESSOR_ARCHITECTURE_ALPHA64 As Long = 7 Private Const PROCESSOR_ARCHITECTURE_UNKNOWN As Long = &HFFFF& Private Const PROCESSOR_LEVEL_80386 As Long = 3 Private Const PROCESSOR_LEVEL_80486 As Long = 4 Private Const PROCESSOR_LEVEL_PENTIUM As Long = 5 Private Const PROCESSOR_LEVEL_PENTIUMII As Long = 6 Private Const sCPURegKey = "HARDWARE\DESCRIPTION\System\CentralProcessor\0" Private Const HKEY_LOCAL_MACHINE As Long = &H80000002 Private Type SYSTEM_INFO dwOemID As Long dwPageSize As Long lpMinimumApplicationAddress As Long lpMaximumApplicationAddress As Long dwActiveProcessorMask As Long dwNumberOfProcessors As Long dwProcessorType As Long dwAllocationGranularity As Long wProcessorLevel As Integer wProcessorRevision As Integer End Type Private Declare Sub GetSystemInfo Lib "kernel32" ( _ lpSystemInfo As SYSTEM_INFO) Private Declare Function RegCloseKey Lib "advapi32" ( _ ByVal hKey As Long) As Long Private Declare Function RegOpenKey Lib "advapi32" _ Alias "RegOpenKeyA" ( _ ByVal hKey As Long, _ ByVal lpSubKey As String, _ phkResult As Long) As Long Private Declare Function RegQueryValueEx Lib "advapi32" _ Alias "RegQueryValueExA" ( _ ByVal hKey As Long, _ ByVal lpValueName As String, _ ByVal lpReserved As Long, _ lpType As Long, _ lpData As Any, _ lpcbData As Long) As Long Public Enum eProcInfo NumberOfProcessors = 0 ProecssorType = 1 PrcessorLevel = 2 ProcessorRevision = 3 ProcessorSpeed = 4 End Enum ' Hilfsfunktionen Private Function HiByte(ByVal wParam As Integer) As Byte On Error GoTo ErrHandler HiByte = (wParam And &HFF00&) \ (&H100) On Error GoTo 0 ErrHandler: End Function Private Function LoByte(ByVal wParam As Integer) As Byte On Error GoTo ErrHandler LoByte = wParam And &HFF& On Error GoTo 0 ErrHandler: End Function ' Ermittelt Daten rund um den Prozessor Public Function ProzessorInfo(ByVal nInfo As eProcInfo) As String On Error GoTo ErrHandler Dim SI As SYSTEM_INFO Dim tmp As String Dim hKey As Long Dim cpuSpeed As Long On Error GoTo ErrHandler ' Sytem-Info holen Call GetSystemInfo(SI) Select Case nInfo Case eProcInfo.NumberOfProcessors ' Anzahl Prozessoren ProzessorInfo = SI.dwNumberOfProcessors Case eProcInfo.ProecssorType ' Prozessortyp Select Case SI.dwProcessorType Case PROCESSOR_INTEL_386: tmp = "386" Case PROCESSOR_INTEL_486: tmp = "486" Case PROCESSOR_INTEL_PENTIUM: tmp = "Pentium" Case PROCESSOR_MIPS_R4000: tmp = "MIPS 4000" Case PROCESSOR_ALPHA_21064: tmp = "Alpha" End Select ProzessorInfo = SI.dwProcessorType & " " & tmp Case eProcInfo.PrcessorLevel ' Level Select Case SI.wProcessorLevel Case PROCESSOR_LEVEL_80386: tmp = "Intel 80386" Case PROCESSOR_LEVEL_80486: tmp = "Intel 80486" Case PROCESSOR_LEVEL_PENTIUM: tmp = "Intel Pentium" Case PROCESSOR_LEVEL_PENTIUMII: tmp = "Intel Pentium Pro, II, III oder 4" End Select ProzessorInfo = SI.wProcessorLevel & " - " & tmp Case eProcInfo.ProcessorRevision ' Revision ProzessorInfo = SI.wProcessorRevision & _ ", Model " & HiByte(SI.wProcessorRevision) & _ ", Stepping " & LoByte(SI.wProcessorRevision) Case eProcInfo.ProcessorSpeed ' CPU-Geschwindigkeit Call RegOpenKey(HKEY_LOCAL_MACHINE, sCPURegKey, hKey) Call RegQueryValueEx(hKey, "~MHz", 0, 0, cpuSpeed, 4) Call RegCloseKey(hKey) If cpuSpeed < 1000 Then ProzessorInfo = Format(cpuSpeed, "##0.##") & " MHz" Else ProzessorInfo = Format((cpuSpeed / 1000), "##0.##") & " GHz" End If Case Else ProzessorInfo = "Die Information konnte nicht ermittelt werden" End Select On Error GoTo 0 Exit Function ErrHandler: ProzessorInfo = "Die Information konnte nicht ermittelt werden" End Function Beispiel für den Aufruf: List1.AddItem "Prozessor-Typ: " & ProzessorInfo(NumberOfProcessors) List1.AddItem "CPU-Speed: " & ProzessorInfo(ProcessorSpeed) Dieser Tipp wurde bereits 14.438 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Neu! sevCommand 4.0 Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |