Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Text wird erst beim zweiten Mal in Zwischenablage kopiert (https://www.delphipraxis.net/37579-text-wird-erst-beim-zweiten-mal-zwischenablage-kopiert.html)

yvesdaeschle 7. Jan 2005 14:54


Text wird erst beim zweiten Mal in Zwischenablage kopiert
 
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?

yvesdaeschle 7. Jan 2005 15:18

Re: Text wird erst beim zweiten Mal in Zwischenablage kopier
 
Hab das Problem gelöst!

Einfach vor dem Einfügen in das Memo1 ein Application.ProcessMessages durchfürhren!

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz