Thema: Delphi GetAsyncKeyState

Einzelnen Beitrag anzeigen

Nisbo

Registriert seit: 10. Mär 2005
191 Beiträge
 
Delphi 5 Standard
 
#10

Re: GetAsyncKeyState

  Alt 20. Aug 2006, 22:29
@ SirThornberry

ja und probiert und wurde wegen dem Code von 3_of_8 zurechtgewiesen das dies falsch sein

@ DGL-luke

OnKeyDown wird mir nichts bringen, das programm arbeitet im hintergrund im systray und sol systemweit (eigendlich nur im Opera) ALT + S abfangen, mehr code gibts im link im ersten posting, oder hier

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var TheWindowHandle: THandle;
begin
//if (GetAsyncKeyState(vk_Shift) < 0) AND (GetAsyncKeyState(VK_F10) < 0) then
//if GetAsyncKeyState(VK_F10) < 0 then
//if (GetAsyncKeyState(VK_CONTROL) < 0) AND (GetAsyncKeyState(VK_F10) < 0) then

if GetAsyncKeyState(VK_F10) < 0 then
//if (GetAsyncKeyState(VK_LMENU) < 0) and (GetAsyncKeyState(Ord('S')) < 0) then
// if GetAsyncKeyState(VK_LMENU) < 0 then
//if (GetAsyncKeyState(VK_MENU) and 1 <> 0) then
//if GetAsyncKeyState(Ord('S')) < 0 then

 begin
  TheWindowHandle:=FindAWindow('Opera', '');
  if TheWindowHandle=0 then
    begin
      ShowMessage('Opera ist nicht geöffnet')
    end
  else
    begin
      setforegroundwindow(TheWindowHandle);
      keybd_event(VK_SHIFT, 0, 0, 0 );
      keybd_event(VK_ESCAPE, 0, 0, 0 );
      sendkeys('{S}', false);

      // Tasten wieder loslassen
      keybd_event(VK_ESCAPE, 0, KEYEVENTF_KEYUP, 0);
      keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);

      // ne kleine Pause
      sleep(1000);
    end;
 end;
end;
also wie gesagt ich will im endeffekt das ALT + S waomit man im IE und im Firefox z.b. das Posting abschickt simulieren, geht ja auch mit F10 nur halt nicht mit der ALT-Taste, das ist mein einziges Problem
Jens
  Mit Zitat antworten Zitat