Thema: Delphi sendMessage versagt -.-

Einzelnen Beitrag anzeigen

64Jabor

Registriert seit: 9. Jan 2008
158 Beiträge
 
Delphi 7 Personal
 
#1

sendMessage versagt -.-

  Alt 10. Jun 2008, 12:07
Hallo DP,

ich habe einen DLL-Hook programmiert, der jeden Tastendruck der F9-Taste abfängt und stattdessen oder eher gesagt zusätzlich an ein anderes Programm von mir, welches den Hook nutzt, einen Tastendruck der Media-Tasten simulieren soll.
Dazu habe ich folgende Prozeduren:

Delphi-Quellcode:
function KeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
KeyUp := ((lParam and (1 shl 31)) <> 0);
  case nCode < 0 of
    TRUE: exit; //wenn code kleiner 0 wird nix gemacht
    FALSE:
      begin
       if not KeyUp then
        begin
         case wParam of
          VK_F9:
           begin
            PostMessage(WindowHandle, WM_KEYDOWN, VK_PLAY, 0);
            PostMessage(WindowHandle, WM_KEYUP, VK_PLAY, 0);
           end;
         end;
        end;
      end;
  end;
end;
Das ist die Prozedur in dem Hook, die den F9-Tastendruck abfängt! Das funktioniert DEFINITIV, habe ich per MessageBox getestet!
Die zweite Prozedur ist in meinem Programm und reagiert auf die Media-Tasten:

Delphi-Quellcode:
procedure TJP.HookMessage(var Msg: TMessage);
begin
case Msg.lParam of
APPCOMMAND_MEDIA_PREVIOUSTRACK: BtnBackClick(BtnBack);
APPCOMMAND_MEDIA_NEXTTRACK: BtnNextClick(BtnNext);
APPCOMMAND_MEDIA_STOP:BtnStopClick(BtnStop);
APPCOMMAND_MEDIA_PLAY_PAUSE: BtnPlayPauseClick(BtnPlayPause);
end;
end;
Habe es auch schon mit einem direkten WM_APPCOMMAND senden versucht, aber funktinierte auch nicht:

sendMessage(WindowHandle, WM_APPCOMMAND, 0, APPCOMMAND_MEDIA_PLAY_PAUSE); Ich komm da nicht mehr weiter -.-

Plz help!
mfg 64Jabor
Sebastian
Unsren Clan im volle Lauf, hält weder Ochs noch Esl auf ^^
  Mit Zitat antworten Zitat