GrafXman Geschrieben 5. September 2003 Teilen Geschrieben 5. September 2003 Ich durchsuche mit der API-Funktion "EnumWindows" alle offenen Fenster(prozesse) nach zwei Fenstern mit bestimmten Titeltexten und erhalte die zugehörigen handles (hWnd1 und hWnd2). Es wird nun vorausgesetzt, dass in dem ersten Fenster (hWnd1) ein Text markiert ist. Es soll jetzt mittels einer der API-Funktionen ("PostMessage" oder "SendMessage" an hWnd1) das drücken (natürlich auch wieder loslassen) der Tastenkombination "CTRL+C" simuliert werden, um den markierten Text zu kopieren. Ich denke, dass dies besser ist, als einfach den Tastaturpuffer zu verändern, da es dabei passieren könnte, dass das falsche Fenster das falsche Kommando bekommt... Dann soll durch Anwendung derselben Methode an das zweite Fenster (hWnd2) eine Nachricht gesandt werden, die "CTRL+V" zum einfügen simuliert. Zum Test der Funktion wollte ich zunächst einfach das Drücken eines "C" im MS-Word-Fenster simulieren: Ich habe es versucht mit den Nachrichten VM_KEYDOWN und VM_KEYUP. Als wParam benutzte ich den VirtualKey-Code für: VK_C = &H43 Mit SendMessage erhalte ich als Rückgabe (bzw. errorcode) die null -> also "Fehler bei der Ausführung" (?) Mit Postmessage ist der Rückgabewert zwar ungleich null, aber es ist trotzdem nichts passiert. Ich muss doch an das handle senden, dessen Fenstertitel z.B. lautet: "Dokument1 - Microsoft Word"?! Ich habe allerdings die Verwendung des lParam noch nicht ganz verstanden. Ist es eine Binärzahl, deren Stellen jeweils für sich gesehen eine Option entweder bestätigen, oder verneinen? Welche zahl muss es jeweils sein, und wie gibt man diese Zahl an? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.