Bestimmte WM_APPCOMMAND teilweise weiterleiteten an Standard
Also ich habe eine kleines tool, worin eine Art Mini-Player integriert ist. Die Ansteuerung über die Multimedia-Tasten klappt perfekt (Wenn auch leider nur im Focus). Jedoch gibt es ein kleines Problem: ich brauche nicht alle Multimediatasten. Ich brauche nur Stop, Play/pause, next/back-track und viellei eventuell später noch ein oder zwei andere. Der Rest wie Laut/leise und ton Aus brauche ich nicht in meinem Tool, dafür jedoch deren uhrsprünglichen Zweck. Nun also meine Frage, wie ich die nicht benötigten Messages wieder weitergeben kann.
So hab ichs im Moment gelöst (ohne Weitergabe):
Delphi-Quellcode:
type
TMain = class(TForm) procedure MultiKey(var Msg: tagMsg); message WM_APPCOMMAND; private { Private declarations } public { Public declarations } end; procedure TMain.MultiKey(var Msg: tagMSG); begin case Msg.wParam of 720896: if radio <> 3 then Switch(radio + 1); 786432: if radio <> 0 then Switch(radio - 1); 851968: if btn_play.Caption = 'II' then btn_play.Click; 917504: btn_play.Click; end; end; Nun möchte ich suche ich noch eine Möglichkeit bei der Case-Anweisung irgendwie die Ungenutzen Messages weiterzuschicken, statt abzufangen. Schonmal Thx im Vorraus! mfg. chri_ri |
Re: MultimediaTasten + WM_APPCOMMAND / WM_APPCOMMAND weiterl
Hallo, vielleicht mit Postmessage im Else Zweig? ;-)
|
Re: MultimediaTasten + WM_APPCOMMAND / WM_APPCOMMAND weiterl
@Der.Kaktus: hm ok hab ich mir auch schon gedacht aber das war mir bissl zu einfach um die lösung zu sein. nungut ok aber wenn, dann welches handle? handle 0? weil ich will das ja einfach so hinaus schickn sozusagen und nicht speziell an einen bestimmten prozess.
mfg. chri_ri |
Re: MultimediaTasten + WM_APPCOMMAND / WM_APPCOMMAND weiterl
Zitat:
|
Re: MultimediaTasten + WM_APPCOMMAND / WM_APPCOMMAND weiterl
@Der.Kaktus:
Zitat:
Delphi-Quellcode:
PostMessage(Msg.hwnd, Msg.message, Msg.wParam, Msg.lParam);
Delphi-Quellcode:
Das scheint sozusagen dann wohl vermutlich von dort auch bloß wieder an mein Tool zurück zu kommen :(
procedure TMain.MultiKey(var Msg: tagMSG);
begin case Msg.wParam of 720896: if radio <> 3 then Switch(radio + 1); 786432: if radio <> 0 then Switch(radio - 1); 851968: if btn_play.Caption = 'II' then btn_play.Click; 917504: btn_play.Click; else PostMessage(Msg.hwnd, Msg.message, Msg.wParam, Msg.lParam); end; end; mfg. chri_ri |
Re: MultimediaTasten + WM_APPCOMMAND / WM_APPCOMMAND weiterl
und wenn Du nix weiter machst ausser dem "case"?..geht dann irgendwas nicht?
|
Re: MultimediaTasten + WM_APPCOMMAND / WM_APPCOMMAND weiterl
Zitat:
//EDIT: Ich habe jetzt mit folgendem Code:
Delphi-Quellcode:
...
else begin Application.Minimize; if PostMessage(Msg.hwnd, Msg.message, Msg.wParam, Msg.lParam) then Application.Restore; end; ...
Delphi-Quellcode:
festgestellt, dass
procedure TMain.MultiKey(var Msg: tagMSG);
begin case Msg.wParam of 720896: if radio <> 3 then Switch(radio + 1); 786432: if radio <> 0 then Switch(radio - 1); 851968: if btn_play.Caption = 'II' then btn_play.Click; 917504: btn_play.Click; else begin Application.Minimize; if PostMessage(Msg.hwnd, Msg.message, Msg.wParam, Msg.lParam) then Application.Restore; end; end; end;
Delphi-Quellcode:
anscheinend so nicht funktioniert. Irgendwas ist da falsch.
PostMessage(Msg.hwnd, Msg.message, Msg.wParam, Msg.lParam);
Wäre über nen Tipp, was da falsch sein könnte sehr dankbar! //EDIT ENDE mfg. chri_ri |
Re: Bestimmte WM_APPCOMMAND teilweise weiterleiteten an Stan
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz