Cさん C++さん
#include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // 起動するファイルを指定する LPCTSTR exeFile[] = { TEXT("example1.exe"), TEXT("example2.exe"), NULL }; // 終端文字ね♪ // Note: MessageBox(NULL,TEXT("アプリを起動して終了するまで待つよ"),TEXT("TEST"),MB_TOPMOST|MB_ICONWARNING|MB_OK); PROCESS_INFORMATION Procinfo; ZeroMemory(&Procinfo, sizeof(Procinfo)); STARTUPINFO stinfo; ZeroMemory(&stinfo, sizeof(stinfo)); // 起動プロセスの条件をSTARTUPINFOメンバに設定 stinfo.cb = sizeof(stinfo); stinfo.dwFlags = STARTF_FORCEOFFFEEDBACK; // 0 or STARTF_FORCEOFFFEEDBACK for(int i = 0; exeFile[i] != NULL; i++) { if(CreateProcess(NULL, (LPSTR)exeFile[i], NULL, NULL, FALSE, 0, NULL, NULL, &stinfo, &Procinfo) == 0) return( false ); // 起動できなかったら終了・・・? CloseHandle(Procinfo.hThread); WaitForSingleObject(Procinfo.hProcess, INFINITE); // 終了するまで待つよ CloseHandle(Procinfo.hProcess); // Note: MessageBox(NULL, TEXT("指定ファイルが終了したよ!"), exeFile[i], MB_TOPMOST | MB_ICONWARNING | MB_OK); } return( true ); }
VC++2005とかVC++2008とかでビルドすると(W文字への変更が必要)、
CreateProcess()で強制終了するんだけど…。
なぜに〜?