Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » SendMessage

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ]
017
24.07.2011, 20:34 Uhr
TOSHMAX



Hier mal ein kleines Beispiel, wie man es machen kann:

C++:
#include <windows.h>
#include <ctype.h>

void simulate_text_input(HWND hWnd, const char* Text)
{
    for(; *Text; ++Text) {
        if(isalpha(*Text)) {
            WPARAM wParam = toupper(*Text);

            PostMessage(hWnd, WM_KEYDOWN, wParam, 0);
            PostMessage(hWnd, WM_KEYUP, wParam, 1 << 31);
        } else {
            PostMessage(hWnd, WM_KEYDOWN, VK_SPACE, 0);
            PostMessage(hWnd, WM_KEYUP, VK_SPACE, 1 << 31);
        }
    }
}

Es kann leider nur die Tasten von a-z und keine Großbuchstaben. Shift zu simulieren ist nicht so ohne weiteres möglich. Das könnte man denke ich mit keybd_event realisieren, allerdings muss das Fenster dazu den Fokus haben.

WM_SETTEXT setzt den Titel eines Fensters. Beim Notepad funktioniert das, weil der Titel des Edit-Fensters der gleiche ist, wie der Inhalt, der angezeigt wird. Bei der Konsole sind diese Dinge allerdings getrennt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
24.07.2011, 21:17 Uhr
Napsta



Danke für die Hilfe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: