Mit SendMessage die Eingabe von text in ein edit-Steuerelement die Zugehörigkeit zu einem anderen Prozess

Möchte ich einrichten text im edit-Feld programmgesteuert in anderen Programm, das ist ein Spiel-app und mithilfe von directX, sondern laufen im Fenster-Modus. Ich bin dabei:

HWND hWnd = FindWindow(NULL,"Game");
HWND edit = FindWindowEx(hWnd, NULL, "Edit", NULL);

SendMessage(edit, WM_CHAR, (TCHAR) 'H', 0);
SendMessage(edit, WM_CHAR, (TCHAR) 'E', 0);
SendMessage(edit, WM_CHAR, (TCHAR) 'L', 0);
SendMessage(edit, WM_CHAR, (TCHAR) 'L', 0);
SendMessage(edit, WM_CHAR, (TCHAR) 'O', 0);

diese nicht für mich arbeiten.... aber einige, wie die einst arbeitete. Ich denke, dass ich da etwas falsch verstanden, vielleicht muss es den Fokus auf die edit-control, dann setzen Sie den cursor dann text einfügen und dann deaktivieren konzentrieren... ich realy weiß nicht viel...bitte speichern Sie meine Zeit und meine Nerven, die mir sagen, wie es funktioniert....

Versuchte ich dieses auch, und nicht arbeiten:

SendMessage(hwnd, WM_SETTEXT, NULL, (LPARAM)"text");

hwnd ist richtig, aber der text wird nicht aktualisiert... schicken, um korrekt behandeln, aber nicht aktualisiert.... Ich glaube, ich muss mich irgendwie zu konzentrieren oder zu aktualisieren, sobald es aktualisiert erfolgreich, aber ich habe nicht realisiert, was passiert ist...also code einmal geklappt, aber nicht mehr funktioniert... warum es funktioniert?

Warum verwenden Sie nicht nur WM_SETTEXT eher als Versuch, fake Tippen?
Heffernan habe ich versucht, aber funktioniert nicht: SendMessage(hwnd, WM_SETTEXT, NULL, (LPARAM)"Meintext"); ich denke, ich brauche, um den Fokus oder andere Sache zu tun, bevor ich den text einzustellen...aber wie?
Es gibt keine Fehlerkontrolle, die auf die FindWindow-Anrufe. Sind Sie arbeiten? Sie muss getan haben einige debugging, ja?
Wenn Sie nicht bekommen kann WM_SETTEXT zu arbeiten, wird nichts funktionieren. Absolut keine Notwendigkeit, sich zu setzen, bevor WM_SETTEXT. Sie denken SendInput, aber Sie nicht tun. Martin ist sehr wahrscheinlich Recht. Wenn Sie nicht überprüfen Fehler dann etwas falsch sein könnte.
Heffernan hwnd ist richtig, aber der text wird nicht aktualisiert... schicken, um korrekt behandeln, aber nicht aktualisiert.... Ich glaube, ich muss mich irgendwie zu konzentrieren oder zu aktualisieren, sobald es aktualisiert erfolgreich, aber ich habe nicht realisiert, was passiert ist...also code einmal geklappt, aber nicht mehr arbeiten...

InformationsquelleAutor Jigberto | 2012-04-02

Schreibe einen Kommentar