AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Bestimmte WM_APPCOMMAND teilweise weiterleiteten an Standard
Thema durchsuchen
Ansicht
Themen-Optionen

Bestimmte WM_APPCOMMAND teilweise weiterleiteten an Standard

Ein Thema von chri_ri · begonnen am 4. Sep 2008 · letzter Beitrag vom 6. Sep 2008
Antwort Antwort
Benutzerbild von chri_ri
chri_ri

Registriert seit: 16. Okt 2007
Ort: Markkleeberg
37 Beiträge
 
Delphi 7 Enterprise
 
#1

Bestimmte WM_APPCOMMAND teilweise weiterleiteten an Standard

  Alt 4. Sep 2008, 16:35
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 = 'IIthen 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
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: MultimediaTasten + WM_APPCOMMAND / WM_APPCOMMAND weiterl

  Alt 4. Sep 2008, 17:14
Hallo, vielleicht mit Postmessage im Else Zweig?
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Benutzerbild von chri_ri
chri_ri

Registriert seit: 16. Okt 2007
Ort: Markkleeberg
37 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: MultimediaTasten + WM_APPCOMMAND / WM_APPCOMMAND weiterl

  Alt 4. Sep 2008, 17:50
@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
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: MultimediaTasten + WM_APPCOMMAND / WM_APPCOMMAND weiterl

  Alt 4. Sep 2008, 17:56
Zitat von chri_ri:
@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
Du bekommst doch das Handle woher die Message kommt..zurueck an Absender
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Benutzerbild von chri_ri
chri_ri

Registriert seit: 16. Okt 2007
Ort: Markkleeberg
37 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: MultimediaTasten + WM_APPCOMMAND / WM_APPCOMMAND weiterl

  Alt 4. Sep 2008, 18:01
@Der.Kaktus:
Zitat von Der.Kaktus:
Du bekommst doch das Handle woher die Message kommt..zurueck an Absender
Habe ich ja auch gedacht aber es geht nicht:

PostMessage(Msg.hwnd, Msg.message, Msg.wParam, Msg.lParam);
Delphi-Quellcode:
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 = 'IIthen btn_play.Click;
    917504: btn_play.Click;
    else PostMessage(Msg.hwnd, Msg.message, Msg.wParam, Msg.lParam);
  end;
end;
Das scheint sozusagen dann wohl vermutlich von dort auch bloß wieder an mein Tool zurück zu kommen



mfg. chri_ri
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: MultimediaTasten + WM_APPCOMMAND / WM_APPCOMMAND weiterl

  Alt 4. Sep 2008, 18:13
und wenn Du nix weiter machst ausser dem "case"?..geht dann irgendwas nicht?
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Benutzerbild von chri_ri
chri_ri

Registriert seit: 16. Okt 2007
Ort: Markkleeberg
37 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: MultimediaTasten + WM_APPCOMMAND / WM_APPCOMMAND weiterl

  Alt 4. Sep 2008, 18:20
Zitat von Der.Kaktus:
und wenn Du nix weiter machst ausser dem "case"?..geht dann irgendwas nicht?
Das habe ich ja schon bereits erwähnt. Ich brauche einige Multimedia-Tasten. Das heißt, dass einige Multimedia-Tasten ihre ursprüngliche Funktion behalten sollen statt abgefangen zu werden.

//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:
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 = 'IIthen 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;
festgestellt, dass
PostMessage(Msg.hwnd, Msg.message, Msg.wParam, Msg.lParam); anscheinend so nicht funktioniert. Irgendwas ist da falsch.

Wäre über nen Tipp, was da falsch sein könnte sehr dankbar!
//EDIT ENDE



mfg. chri_ri
  Mit Zitat antworten Zitat
Benutzerbild von chri_ri
chri_ri

Registriert seit: 16. Okt 2007
Ort: Markkleeberg
37 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Bestimmte WM_APPCOMMAND teilweise weiterleiteten an Stan

  Alt 6. Sep 2008, 14:22
Thema beendet.

Lösung gibts bei: http://www.delphipraxis.net/internal...t.php?t=141699



mfg. chri_ri
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 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