Tastendruck an Win98 DOS-Box senden

Hallo,

ich möchte einen Tastendruck an eine DOS-Box in Windows 98 senden.
Ich mache das mit
SendMessage(hwnd, WM_CHAR, VK_D, 0);
unter WinXP, da funktioniert es. Unter Win 98 geht es nicht.
Was mache ich da falsch?

Danke schon mal im Voraus
Grüßle
Ben

Hallo Ben,

ich möchte einen Tastendruck an eine DOS-Box in Windows 98
senden.

Geht nicht. Du kannst bloss an WIN32-Programme etwas senden.

Ich mache das mit
SendMessage(hwnd, WM_CHAR, VK_D, 0);

Wenn man das HWND mal hat, geht es auch so, bei WIN-Programmen.

unter WinXP, da funktioniert es.

Ich habe kein XP, kann ich mir aber nicht vorstellen.

Was mache ich da falsch?

Daß Du überhaupt an ein DOS-Fenster etwas senden willst. Das geht nicht.

Danke schon mal im Voraus

Bitte gerne!
lg
Martin B

Hallo Ben !

Müsste eigentlich funktionieren, in der Dokumentation steht: Minimum operating systems Windows 95, Windows NT 3.1
Hast du geschaut, an welcher Stelle konkret das Problem auftritt (also ob das Fensterhandle noch gefunden wird, welcher Rückgabewert kommt bei
SendMessage, …)

mfg
Christof

Hallo Christof

Müsste eigentlich funktionieren,

Das MSDN schreibt über „SendMessage()“:

The function calls the window procedure for the specified window

Nun hat ein DOS-Programm aber keine „window procedure“, also kann sie auch nicht aufgerufen werden, einverstanden?

hWnd 
Handle to the window whose window procedure will receive the message

Ein DOS-Fenster hat aber kein HWND, daher kann man es auch nicht angeben, einverstanden? Wie stellst Du Dir das vor? Wo willst Du ein HWND her nehmen? Schreibst Du dann auch eine Callback für das DOS-Proggy…?

freundliche Gruesse
Martin B

Hallo Martin !

Das DOS-Programm hat zwar kein Fenster, es wird aber natürlich ein Fenster erzeugt das die Ein- und Ausgaben des in seinem Kontext gestarteten Command-Prozessors behandelt.
Beim Starten eines DOS-Fensters öffnet sich ja sichtlich ein Fenster mit Rahmen und Titel. Dieses Fenster hat ein Windows-Handle und kümmert sich eben auch um die Behandlung von Tastendrücken und Windows-Events (wie SendKey).

mfg
Christof