動作する C++ MFC プログラムがありますが、コマンド ラインからより単純なバージョンを起動できるようにしたいと考えています。(これは、cmd ライン引数がある場合、cmd ライン バージョンを使用して機能します。) プログラムで、実行するために開いている現在の「cmd」ウィンドウを使用し、そのための新しいシェルをある程度作成したいと考えています。InitInstance() では、私は...
CString cmdLine;
cmdLine.Format("%s", this->m_lpCmdLine);
if(cmdLine.IsEmpty())
dlg.DoModal(); // Run application normally
else
{
CString header = "Welcome to the program!";
AttachConsole(ATTACH_PARENT_PROCESS); // Use current console window
LPDWORD charsWritten = 0;
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), header, header.GetLength(), NULL, NULL);
}
プログラムへの入力を取得するにはどうすればよいですか? cin は動作しないようです。私はこのようなことを試しました:
char input[10] = "";
while((strcmp(input, "q") != 0) && (strcmp(input, "quit") != 0))
scanf("%s", input);
しかし、コマンド ウィンドウが新しいプロンプトを待機しているため、機能していないようです。