Einzelnen Beitrag anzeigen

yvesdaeschle

Registriert seit: 22. Nov 2004
Ort: Efringen
26 Beiträge
 
Delphi 6 Personal
 
#1

Text wird erst beim zweiten Mal in Zwischenablage kopiert

  Alt 7. Jan 2005, 15:54
Hallo,

ich habe ein Programm wo durch einen Hook, bei einem bestimten HotKey (Ctrl + Maustaste) einen Text, welcher in einem Fenster ist kopieren soll.

Das Ereignis wird mittels Sendmessage ausgelöst und mein Programm reagiert dann darauf.

Delphi-Quellcode:
if Msg.WParam = 2706 then
  begin

    While not ((GetASYNCKeyState (VK_SHIFT) = 0) AND
        (GetASYNCKeyState (VK_CONTROL) = 0) AND
        (GetASYNCKeyState (VK_MENU) = 0)) do
    begin
       Application.ProcessMessages;
    end;

    sleep (50);

    keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);
    keybd_event(Ord('C'), MapVirtualKey(Ord('C'), 0), 0, 0);
    Sleep(50);
    keybd_event(Ord('C'), MapVirtualKey(Ord('C'), 0), KEYEVENTF_KEYUP, 0);
    sleep (50);

    Memo1.PasteFromClipboard;
  end;
Allerdings muss ich es zweimal machen, bis er das richtige in die Zwischenablage kopiert. An was liegt das, dass das Programm erst beim zweiten Anlauf den TExt kopiert?

Habt ihr eine Idee?
  Mit Zitat antworten Zitat