Zum Inhalt springen

WIN-API PostMessage / SendMessage


GrafXman

Empfohlene Beiträge

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...