Eingabe (stdin) erzeugen

Hi
Ich möchte ein programm schreiben, dass ein in die Konsole schreiben kann.

Meine idee:
Code:
 HANDLE client_stdin = GetStdHandle(STD_INPUT_HANDLE);;
 if(client_stdin == NULL)printf("Error[%i]at GetStdHandle",GetLastError());

 KEY_EVENT_RECORD keyrec;
 keyrec.bKeyDown          = TRUE;
 keyrec.wRepeatCount      = 1;
 keyrec.wVirtualKeyCode   = 41;
 keyrec.wVirtualScanCode  = 41;
 keyrec.uChar.AsciiChar   = 'A';        
 keyrec.dwControlKeyState = SHIFT_PRESSED;

 INPUT_RECORD inrec[1];
 inrec[0].EventType      = KEY_EVENT;
 inrec[0].Event.KeyEvent = keyrec;
  
 LPDWORD result;
 BOOL success = WriteConsoleInput(client_stdin, inrec, 1, result);
 if(success == FALSE)printf("Error[%i]at WriteConsole",GetLastError());

/**/ getchar();

Problem:
1. WriteConsoleInput erzeugt einen Fehler:
Laut GetLastError Fehlercode 12: "ERROR_INVALID_ACCESS"

2. Das 'A' wird (nachdem der Fehler ausgegeben wurde) in das Fenster dieses Programmes geschrieben, aber nicht in das Fenster "C:\WINDOWS\system32\cmd.exe" (also in die Konsole)
 
Zurück
Oben