Autor Beitrag
rangermayr
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 14.03.07 12:01 
Hallo Forum,

ich habe folgendes Problem. Ich habe mir eine Microsoft Wireless Presenter Mouse 8000 gekauft um diese bei Präsentationen einzusetzen.
Nun ist es leider so daß diese Maus Multimediamessages versendet anstelle von Tastencodes (dies ist auch nicht einstellbar).

Ich möchte mir nun eine Hook Dll programmieren mit der ich diese Messages ( APPCOMMAND_MEDIA_NEXTTRACK, APPCOMMAND_MEDIA_PREVIOUSTRACK, APPCOMMAND_MEDIA_STOP, APPCOMMAND_MEDIA_PLAY_PAUSE) wenn sie ankommen auf Tastendrücke (N, P, S, B) ummappen kann.

Zuerst habe ich mir ein Testprogramm geschrieben um zu prüfen welche Msgs die Maus sendet.
Das funktioniert fast gut. Bis auf die Tatsache daß die APPCOMMAND_MEDIA_PLAY_PAUSE irgendwie nicht ankommt, bzw vorher abgefangen wird. Wo weiß ich nicht.

Dann habe ich eine Hook DLL geschrieben. Den Hook mit
hKeyHook := SetWindowsHookEx(WH_KEYBOARD, KeyHookFunc, hInstance, 0); eingehängt.
Die Multimediatasten auf dem Keyboard (APPCOMMAND_MEDIA_NEXTTRACK, APPCOMMAND_MEDIA_PREVIOUSTRACK, APPCOMMAND_MEDIA_STOP, APPCOMMAND_MEDIA_PLAY_PAUSE) werden erkannt, wenn ich die Maus benutze passiert nichts. Keine Message gar nichts.

Wer kann mir sagen welchen Fehler ich mache. Ich denke ich muß den Hook irgendwie anders einhängen... sicher bin ich mir nicht.

Bitte helft mir...
(Ich gebe zu, daß ich schon länger nichts mehr mit Delphi gemacht habe. Ich benutze die Delphi 2005 personal Edition).

Gruß
Robert
Einloggen, um Attachments anzusehen!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 14.03.07 12:14 
Ich hab mich damit auch mal beschäftigt. Evtl. hilft dir dieser Thread weiter. Grundproblem dürfte sein, dass man für Multimediatasten keinen Keyboard-Hook benötigt, sondern einen Shell-Hook. Dass bei dir die Tasten auf der Tastatur trotzdem funktionieren, verwirrt mich jetzt ehrlich gesagt etwas :nixweiss:

_________________
We are, we were and will not be.
rangermayr Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 14.03.07 12:18 
Hallo Gausi,

oops, kleiner Fehler, es war die WM_SHELL mit der ich die Keyboardtasten abfangen konnte, leider kommt über WM_SHELL für die Maus nichts an, obwohl der lParam identisch ist (Keyboard / Maus).

Den Code den du mir gesandt hast habe ich auch gefunden. Fängt nichts....
Ich spiele jetzt schon seit über einer Woche damit rum und hab auch schon alles durchgelesen was google und die div. Foren dazu usw ausspucken.

Gruß
Robert
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 14.03.07 12:29 
Hm. Dann weiß ich auch nicht weiter.

Wird bei der Installation der Maus evtl. ein Stück Software installiert, die dazwischenfunkt? Bei meiner Logitech-Tastatur nennt sich das iTouch, was die Messages irgendwo auf Treiberebene abfängt und lustig im System rumverschickt. Verstanden hab ich das Prinzip bis heute nicht.

Evtl. läuft bei der MS-Maus was vergleichbares ab.

_________________
We are, we were and will not be.