Demo Projekt



Die Funktionen der AHid.dll werden anhand einer C++ Konsolen-Anwendung erläutert. Sie finden das Demo-Projekt auf der Startseite bei den Downloads (Visual Studio 2010, C++ Konsole).

Auf der Startseite finden Sie viele Beispiel-Projekte. Leider haben alle etwas gemeinsam: Sie haben eine grafische Benutzer-Schnittstelle (GUI)!

Bild 1: Die HID Geräte-Parameter

Prinzipiell ist das ja durchaus praktisch. Aber die Funktionen zur Auswertung der ganzen Controls macht die Programme unübersichtlich. Für das Verständnis der AHid.dll ist es sehr zu empfehlen, dass Sie sich diesen Abschnitt komplett durchlesen!

Verbindungsstatus aktualisieren

Die im Folgenden besprochene Konsolen-Anwendung verfügt über keine Nachrichtenschleife. Diese ist aber wichtig, um den Verbindungsstatus - am USB angeschlossen/nicht angeschlossen - des HID Gerätes aktuell zu halten.

In einer Anwendung mit Hauptfenster wertet man hierzu die WM_DEVICECHANGE Nachricht aus. In der Auswertungs-Routine wird dann der aktuelle Verbindungsstatus mit der AHid_Find() Funktion auf den aktuellen Stand gebracht.

Da dies aber, wie bereits erwähnt, bei einer Konsolen-Anwendung nicht möglich ist, wird hier bei jedem Durchlauf der Verbindungsstatus mit der Funktion is_connected() aktualisiert.

Bild 2: Hauptschleife

Und wie Sie sehen, macht die Funktion is_connected() auch nichts anderes, als AHid_Find() aufzurufen.

Bild 3: Die Funktionen der AHid.dll

Das ganze Programm hat einen typischen Verlauf. Zunächst wird die AHid.dll mit einem Aufruf von AHid_Init() initialisiert. Auch die Verbindungen zu Ihrem HID Gerät können mit AHid_Register() hier registriert werden.

In der folgenden Hauptschleife wird die Tastatureingabe ausgewertet und je nach Verbindungszustand (angeschlossen/nicht angeschlossen) des HID Gerätes werden die Funktionen zum Lesen (AHid_Read()) und Schreiben (AHid_Write()) ausgeführt.

Abschließend wird AHid_Deregister() aufgerufen, um die allokierten Ressourcen wieder frei zu geben.

Außer diesen Funktionen gibt es noch zwei weitere: AHid_Info() und AHid_Identify(). AHid_Info() gibt in einer Nachrichtenbox die Versionsnummer der AHid.dll aus. AHid_Identify() gibt den Geräte-Pfad des HID Gerätes zurück. Und zwar genau so, wie er auch im Geräte-Manager von Windows zu finden ist.

Weitere Informationen zu allen Funktionen der AHid.dll finden Sie hier.


Sollte Sie noch Fragen zu diesem Thema haben, wenden Sie sich bitte per Email an uns.