<...zurück>

Gerät, wer bist Du? (für Geräte ohne Typenschild)

Wenn unterschiedliche Geräte unterschiedliche Ausstattungen besitzen, man aber auf die speziellen Eigenschaften eines Gerätes zugreifen möchte, ist guter Rat teuer. eVB hat keine Möglichkeit, das Gerät zu fragen. Die API kann's:

Deklarationsteil:

Public Const SPI_GETOEMINFO = 258

Public Declare Function
SystemParametersInfo Lib "Coredll.dll" Alias "SystemParametersInfoW" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As String, ByVal fuWinIni As Long) As Long

Zugegeben, ich habe etwas daran herumgeschraubt. Darin liegt dummerweise aber auch eine Gefahr: die Funktion "SystemParametersInfo" ist ein Verteiler für viele Systemfunktionen. In der aktuellen Definition werden nicht alle Funktionen abfragbar sein. Deshalb: Bei weiterer Verwendung u.U. eine zweite Definition mit anderm Aufrufnamen und geänderter Parameterliste generieren!

.und hier die Beispielfunktion die den Gerätetyp anzeigt:

Private Sub Command1_Click()
    Dim strOEM As String
    strOEM = Space(128)
    SystemParametersInfo SPI_GETOEMINFO, 128, strOEM, 0
    MsgBox strOEM
End Sub

Die Geräteinformation wird von der Funktion in des anfangs erzeugten String "gepatcht". Beim Compaq 3100 kommt die Meldung "Compaq H3100", beim PocketPC-Emulator erhält man ein vielsagendes nichts, beim PocketPC2002-Emulator immerhin noch "CEPC" zurück.

<...zurück>