VB-Homepage Tipp 400

Überprüfen, ob es sich um einen langsamen PC handelt
und weitere Funktionen von GetSystemMetrics

Hier handelt es sich um eine Funktion aus einer Vielzahl von Werten, die die API Funktion GetSystemMetrics liefert. In der Tipp Datenbank befinden sich auch schon andere - Zum Beispiel Multimonitoring.

Ich möchte hier erstens, diese eine Funktion vorstellen, mit der ein PC sehr schnell auf ein Mindestmaß an Leistung geprüft werden kann.
Zweitens möchte ich, den gesamten Funktionsumfang kurz aufzeigen.

Aber erstmal zum Test. Welche Kriterien werden dabei geprüft.
Als langsam wird hier gewertet, wenn es sich ....
1. ... um einen 386-Prozessor oder älter handelt,
2. ... wenn nicht mehr als 5MB RAM verfügbar sind, und
3. ... wenn die vorhandene Grafikkarte keinerlei Hardwarebeschleunigung besitzt.

Die Deklaration unter Allgemein/Deklarationen
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long

Der Funktionsaufruf  (Bsp. Command1_Click)
Dim rückgabewert As Long

rückgabewert = GetSystemMetrics(73)

Rückgabewerte
1 = 386 Prozessor
2 = weniger als 5 MB RAM
4 = keine Grafikkartenhardwarebeschleunigung

Natürlich können auch mehrere Kriterien zutreffen, was den Wert addiert.

#####################################################

Wie schon erwähnt, bietet die GetSystemMetrics Funktion aber noch viel mehr Informationen zum System, so zBsp. die Monitorauflösung, Mausverfügbarkeit,
Multimonitoringinformation und jede Menge Größenwerte für Objekte.
Ich möchte Ihnen an dieser Stelle lediglich alle mir bekannten Konstanten vorstellen, suchen sie sich interessantes heraus und testen Sie selbst.

Der Aufruf erfolgt dabei analog dem Beispiel von oben, lediglich durch die
Angabe einer anderen Konstanten verändert. ... GetSystemMetrics(##)

SM_CXSCREEN = 0
SM_CYSCREEN = 1
SM_CXVSCROLL = 2
SM_CYHSCROLL = 3
SM_CYCAPTION = 4
SM_CXBORDER = 5
SM_CYBORDER = 6
SM_CXDLGFRAME = 7
SM_CYDLGFRAME = 8
SM_CYVTHUMB = 9
SM_CXHTHUMB = 10
SM_CXICON = 11
SM_CYICON = 12
SM_CXCURSOR = 13
SM_CYCURSOR = 14
SM_CYMENU = 15
SM_CXFULLSCREEN = 16
SM_CYFULLSCREEN = 17
SM_CYKANJIWINDOW = 18
SM_MOUSEPRESENT = 19
SM_CYVSCROLL = 20
SM_CXHSCROLL = 21
SM_DEBUG = 2"
SM_SWAPBUTTON = 23
SM_RESERVED1 = 24
SM_RESERVED2 = 25
SM_RESERVED3 = 26
SM_RESERVED4 = 27
SM_CXMIN = 28
SM_CYMIN = 29
SM_CXSIZE = 30
SM_CYSIZE = 31
SM_CXFRAME = 32
SM_CYFRAME = 33
SM_CXMINTRACK = 34
SM_CYMINTRACK = 35
SM_CXDOUBLECLK = 36
SM_CYDOUBLECLK = 37
SM_CXICONSPACING = 38
SM_CYICONSPACING = 39
SM_MENUDROPALIGNMENT = 40
SM_PENWINDOWS = 41
SM_DBCSENABLED = 42
SM_CMOUSEBUTTONS = 43
SM_SECURE = 44
SM_CXEDGE = 45
SM_CYEDGE = 46
SM_CXMINSPACING = 47
SM_CYMINSPACING = 48
SM_CXSMICON = 49
SM_CYSMICON = 50
SM_CYSMCAPTION = 51
SM_CXSMSIZE = 52
SM_CYSMSIZE = 53
SM_CXMENUSIZE = 54
SM_CYMENUSIZE = 55
SM_ARRANGE = 56
SM_CXMINIMIZED = 57
SM_CYMINIMIZED = 58
SM_CXMAXTRACK = 59
SM_CYMAXTRACK = 60
SM_CXMAXIMIZED = 61
SM_CYMAXIMIZED = 62
SM_NETWORK = 63
unbekannt/nicht gesetzt
unbekannt/nicht gesetzt
unbekannt/nicht gesetzt
unbekannt/nicht gesetzt
SM_CLEANBOOT = 67
SM_CXDRAG = 68
SM_CYDRAG = 69
SM_SHOWSOUNDS = 70
SM_CXMENUCHECK = 71
SM_CYMENUCHECK = 72
SM_SLOWMACHINE = 73
SM_MIDEASTENABLED = 74
SM_CMETRICS = 75
SM_XVIRTUALSCREEN = 76
SM_YVIRTUALSCREEN = 77
SM_CXVIRTUALSCREEN = 78
SM_CYVIRTUALSCREEN = 79
SM_CMONITORS = 80
SM_SAMEDISPLAYFORMAT = 81

Als Beispiel sei hier noch die Mausprüfung genannt, dies wäre sowohl
Konstante 19, mit der die Verfügbarkeit einer Maus geprüft werden kann, als auch die Konstante 43, mit der die Anzahl der Maustasten geprüft wird.

Tipp-Download

Quelle :

Zurück zur Übersichtsseite