CopyToClipboard, in eine andere Anwendung
-
Hallo,
Ich habe eine kleine Frage zu CopyToClipboard. Ist es möglich einen Text in die Zwischenablage zu speichern und automatisch in eine andere Anwendung hinzueinkopieren.
kleines Bsp.
Wenn Ich mir mein altes Battlefield 1942 installier verlangt er ja eine Seriennummer und wenn Ich in meinem Programm "Battlefield 1942" auswähle, das die Seriennummer dann in die Felder der Installationsanwendung hineinkopiert werden.
--------------------------------Hoffe ihr könnt mir weiterhelfen, danke
MHR
-
Dafür brauchst du WinAPI (FindWindow etc.).
-
Dieser Thread wurde von Moderator/in Jansen aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Jansen schrieb:
Dafür brauchst du WinAPI (FindWindow etc.).
In fremde Edit-Felder kannst du aber nicht einfach so reinschreiben. Also finde erstmal alle 4 (oder 5?) Edit-Felder mit FindWindow und FindWindowEx. Dann kopier deine einzelnen Key-Stücke nach und nach mit OpenClipboard, SetClipboadData mit CF_TEXT und schickst den Edit-Feldern jeweils WM_PASTE-Nachrichten.
-
Dann ist es aber viel leichter den Text direkt per WM_SETTEXT direkt zu übertragen, wenn es sich um Edit-Controls handelt. Dann benötigt man die Zwischenablage gar nicht!
@MHR: Warum denkst Du, Du benötigst die Zwischenablage?
-

Stimmt.. Hab da was verwechselt -> GetWindowText geht nicht mit fremden Edits^^
-
Aber WM_GETTEXT geht!

-

#ifdef GetWindowText #undef GetWindowText #define GetWindowText(hwnd, text, length) \ (SendMessage(hwnd, WM_GETTEXT, length, reinterpret_cast<LPARAM>(text))) #endif // GetWindowText
-
danke für die schönen Antworten. da werde ich mich mal hinsetzten und die Sachen ausprobieren

war der erste gedanke mit der zwischenablage, aber wenn man mit WM_SETTEXT das gnaze gleich übertragen kann wäre das wunderbar

danke nochmal
mfg MHR
-
MHR schrieb:
aber wenn man mit WM_SETTEXT das gnaze gleich übertragen kann wäre das wunderbar


#ifdef SetWindowText #undef SetWindowText #define SetWindowText(hwnd, text) \ (SendMessage(hwnd, WM_SETTEXT, 0, reinterpret_cast<LPARAM>(text))) #endif // SetWindowText*grinz*