Wichtige Systemeigenschaften ermítteln

Prüfen, ob eine Maus angeschlossen ist

Ebenso einfach können Sie prüfen, ob eine Maus angeschlossen ist. Dazu gibt es sogar mehrere
Möglichkeiten.

Mit der Konstanten SM_CMOUSEBUTTONS beziehungsweise dem Wert 43 ermitteln Sie mit Hilfe der Funktion GetSystemMetrics die Anzahl der Mausbuttons. Ist keine Maus installiert, gibt die Funktion stattdessen 0 zurück. Sie müssen also nur prüfen, ob der Rückgabewert unter Angabe des Werts 43 größer ist als 0.

Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long

Const SM_CXSCREEN = 0 'Bildschirmbreite
Const SM_CYSCREEN = 1 'Bildschirmhöhe
Type typAufloesung
Breite As Long
Hoehe As Long
End Type
Function getAufl() As typAufloesung
Dim typTemp As typAufloesung
Dim lngTemp As Long
typTemp.Breite = GetSystemMetrics(SM_CXSCREEN)
typTemp.Hoehe = GetSystemMetrics(SM_CYSCREEN)
getAufl = typTemp
End Function
Sub Aufltesten()
Dim typAufl As typAufloesung
typAufl = getAufl()
Debug.Print "Auflösung: " & typAufl.Breite & " x " & typAufl.Hoehe
End Sub

'Maus
Const SM_CMOUSEBUTTONS = 43 'Anzahl der Mausbuttons
Const SM_MOUSEWHEELPRESENT = 19 'Maus mit Rad vorhanden
Function boolMaus() As Boolean
If (GetSystemMetrics(SM_CMOUSEBUTTONS) > 0) Or _
(GetSystemMetrics(SM_MOUSEWHEELPRESENT) > 0) Then
boolMaus = True
Else
boolMaus = False
End If
End Function
Sub Maustesten()
Debug.Print "Maus vorhanden? " & boolMaus()
End Sub

Const SM_CLEANBOOT = 67 'Startoption
Const CLEANBOOT_Normal = 0 'normaler Start
Const CLEANBOOT_Abgesichert = 1 'abgesicherter Modus
Const CLEANBOOT_AbgesichertNetz = 2 'abgesicherter Modus mit Netzwerk
Function getStarttyp() As String
Dim bytBoot As Byte
bytBoot = GetSystemMetrics(SM_CLEANBOOT)
Select Case bytBoot
Case CLEANBOOT_Normal:
getStarttyp = "normal"
Case CLEANBOOT_Abgesichert:
getStarttyp = "abgesichert"
Case CLEANBOOT_AbgesichertNetz:
getStarttyp = "abgesichert mit Netzwerk"
End Select
End Function
Sub StarttypTesten()
Debug.Print "Starttyp: " & getStarttyp()
End Sub

Alternativ können Sie die Konstante SM_MOUSEWHEELPRESENT oder den Wert 19 verwenden. Sie gibt einen Wert ungleich 0 zurück, wenn eine Maus mit Rad installiert ist. Die Funktion boolMaus in Listing 3 verwendet beide Ergebnisse und setzt den Rückgabewert auf true, wenn entweder der Aufruf mit dem Wert 43 oder der Aufruf mit dem Wert 19 einen Wert größer als 0 liefern.