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. |