![]() |
Re: Multimedia-Tasten hooken
KeyDown kann auch nichts bringen, weil diese Tasten keine Tasten im üblichen Sinne sind. Sie lösen kein Tastatur-Event aus, sondern das Senden einer WM_APPCOMMAND-Message. An die ganzen Konstanten kann man z.B. so gelangen
Delphi-Quellcode:
Man erhält dann, nach entsprechender Konvertierung ins Hex-Format:
procedure MediaKey (Var aMSG: tMessage); message WM_APPCOMMAND;
//[...] procedure TForm1.MediaKey (Var aMSG: tMessage); begin Showmessage(InttoStr(aMSG.LParam)); aMsg.Result := 1; end;
Delphi-Quellcode:
Alternativ kann man auch nach den Konstanten-Namen googeln. Irgendwo findet man immer ne Liste damit ;-)
APPCOMMAND_VOLUME_MUTE = $80000;
APPCOMMAND_VOLUME_DOWN = $90000; APPCOMMAND_VOLUME_UP = $a0000; |
Re: Multimedia-Tasten hooken
Sag mal du hookst die Tastatur-Events ?
Ich meine du müsstest bei wm_AppCommand die Fensterfunktion global hooken und nicht das Keyboard. Gruß Hagen |
Re: Multimedia-Tasten hooken
Ne, ich mach schon nen ShellHook auf WM_APPCOMMAND (vgl. Quellcode im ersten Posting). Funktioniert ja auch soweit, nur kommt der Hook mit installiertem iTouch durcheinander (iTouch scheint die Messages irgendwie mehrfach zu versenden, die dann alle vom Hook auf meine Anwendung umgelenkt werden). Daher dieser
![]() Mein Problem ist mittlerweile gelöst, nur wurde hier noch eine Frage bzgl. der anderen Konstanten gefragt. Ob das wirklich hierhin gehört, oder abgetrennt werden sollte, mag ein anderer entscheiden ;-) |
Re: Multimedia-Tasten hooken
Danke für die Info.
Aber ich habe ein Problem mit deinem Code (5. Zeile):
Delphi-Quellcode:
Delphi meckert, es brauche bei @KeyboardHookProc Parameter. Welche soll ich da angeben?
HookHandle := SetWindowsHookEx(WH_SHELL, @KeyboardHookProc, HInstance, 0);
Des weiteren vermute ich, dass man HookHandle mit 0 initialisieren muss. Richtig? Und bei InstallHook ist der Parameter hwnd = Application.Handle? Beim FormCreate ausführen? |
Re: Multimedia-Tasten hooken
ich muss das nochaml rauskramen von vor jahren :roll:
ich hab das alles probiert, aber es hilft nichts, nix klappt... ich glaub bei den toshiba notebooks (ich brauch das ja für mein notebook, das multimedia tasten drauf hat) funktioniert das nur über bibliotheken!!?? weiß einer rat wie ich die ansprechen kann?? zuständig müsste dafür tfncky.exe (toshiba controls) sein!!! es reagiert definitiv nicht auf app_command, und auch nicht auf die dierekten messages für die jeweiligen tasten... ich komm einfach nicht weiter... :cry: |
Re: Multimedia-Tasten hooken
Ich komme bei dem Thema mehr und mehr zu der Ansicht, dass hier jede Hersteller von Tastaturen/Treibern sich da ein eigenes Süppchen zusammenkocht. Bei meiner alten Logitech-Tastatur klappen die Multimediatasten gut ohne Hook im eigenen Programm, auf meinem Thinkpad brauche ich den Hook dafür. Bei der Logitech-Software für die neuen Tastaturen gibts komische Probleme, die ich noch nicht genau verstanden habe. Wie das jetzt bei Toshiba aussieht, weiß ich nicht.
Eine ultimative Lösung dafür scheint es nicht zu geben. |
Re: Multimedia-Tasten hooken
ja aber das bei toshiba muss ich sagen sieht echt schlimm aus, ich hab kein plan wie die das übermitteln mit den funktionen, oder die haben noch komplett andere messages die ich noch gar nicht erkannt hab... das ist zum mäuse melken, naja hab sie erstmal angeschrieben ob sie dafür nicht ne sdk haben, für das toshiba controls programm
|
Re: Multimedia-Tasten hooken
Zitat:
mfg, Philipp |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz