PostMessage
-
Hallo,
nach vielen selbstversuchen Stelle ich hier im Forum mal die Frage:
"Wie funktioniert es?"
Also Grundlegendes kann ich schon:Als erstes WindowHandle holen, in meinen Beispiel mal der Editor (auch bekannt als Notepad):
HWND hWnd FindWindow(0,L"Unbenannt - Editor");dann Nachicht "A" and das Fenster versenden.
PostMessage(hWnd,'A', 0, 0);Ja ich weis das ich für WPARAM und LPARAM 0 genommen habe, weil ich nicht weis was darein kommt. Hier liegt (warscheinlich) auch das Problem. Was genau muss in waparam und lparam?
MFG!
-
'A' ist keine Nachricht, sondern der Parameter...
PostMessage(hwnd, WM_KEYDOWN, 'A', 0);Aber da du nicht sagst, was du machen willst, rate ich einfach mal.
PS: Falsches Forum.
-
Ich will einfach den Buchstaben a an das Notepad senden, sodass da dann steht A (im eingabe-feld) .
PS: Ich versuche jetzt mal deine version.EDIT: Mit deiner Version gehts auch net.. Es steht dann kein "A" im Eingabefenster.
-
Übrigens, wenn du nach den Nachrichten schaust, wird dir erklärt, was in lparam und in wparam hinein muss siehe hier für WM_KEYDOWN: http://msdn.microsoft.com/en-us/library/ms646280(v=vs.85).aspx
-
Es kann auch sein, dass das Programm nur die nachricht WM_KEYUP verwendet. Du musst das schon testen, am einfachsten ist es, wenn du es mit einem eigenen Programm testet, dessen Code du kennst.
-
Edit: zu spät.
-
So funktioniert es z.b.
#include <Windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR pScmdline, int iCmdshow) { HWND hwnd; hwnd = FindWindow(NULL, L"test.txt - Editor"); hwnd = GetWindow(hwnd, GW_CHILD); SendMessage(hwnd, WM_SETTEXT, (WPARAM) 256, (LPARAM) L"hallo"); SendMessage(hwnd, WM_CHAR, (WPARAM) 'A', (LPARAM) 10); return 0; }
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x) 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.
-
Siehe bitte auch:
http://blog.m-ri.de/index.php/2007/12/27/die-unsitte-tastatureingaben-mit-wm_keydown-nachrichten-zu-simulieren/