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 fremde Anwendung mit tasten steuern (https://www.delphipraxis.net/115671-fremde-anwendung-mit-tasten-steuern.html)

spacewolf 16. Jun 2008 07:23


fremde Anwendung mit tasten steuern
 
Moin,

ich habe da ein "interessantes" Problem. Ich habe ein Anwendung - die hat den Fokus.
Dann möchte über einen globalen Hotkey sagen. Markiere die aktuelle Zeile und kopiere diese per Zwischenablage.

Im Notepad funktioniert das wunderbar :gruebel:

Aber dieser Software nicht :wall:
Wenn ich diese Aktionen aber von Hand ausführe dann funktioniert es! Hat jemand ne Idee.
Sind die von mir verwendeten Funktionen event. doch nicht so sicher? :gruebel:

Delphi-Quellcode:
  procedure CopyFromClipBoard;
  begin
    // An den Anfang der Zeile springen
    Sleep(2000); // Pausieren

    keybd_event(VK_HOME, 0, 0, 0);
    keybd_event(VK_HOME, 0, KEYEVENTF_KEYUP, 0);

    Sleep(2000); // Pausieren

    //Zeile markieren
    keybd_event(VK_SHIFT, 0, 0, 0);
    keybd_event(VK_END, 0, 0, 0);

    Sleep(2000); // Pausieren

    Sleep(500);

    keybd_event(VK_END, 0, KEYEVENTF_KEYUP, 0);
    keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
    Sleep(1000);

    // In die Zwischenablage
    keybd_event(VK_CONTROL, 0, 0, 0);
    keybd_event(Ord('C'), 0, 0, 0);
    keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);


    Sleep(2000);
    Sleep(10);

    // An den Anfang der Zeile springen
    keybd_event(VK_HOME, 0, 0, 0);
    keybd_event(VK_HOME, 0, KEYEVENTF_KEYUP, 0);

    Sleep(2000);

    if Clipboard.HasFormat(CF_TEXT) then
      result := Clipboard.AsText;
  end;
Andreas

RavenIV 16. Jun 2008 08:01

Re: fremde Anwendung mit tasten steuern
 
Dumme Anmerkung von mir:
Die vielen Sleep sind hoffentlich nur zum "Debuggen" und fliegen in der Final-Version raus, oder?

Vielleicht hat das entsprechende Control (z.B. TMemo) nicht den Fokus?

CK_CK 16. Jun 2008 08:03

Re: fremde Anwendung mit tasten steuern
 
Was ist denn das für eine Anwendung? Vielleicht ist es ja einfacher, das ganze mit FindWindow/FindWindowEx zu suchen und dann auszulesen...

Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:31 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