C++新しいプロセスを作成
1034 ワード
STARTUPINFOは、新しいプロセスのメインウィンドウのプロパティを指定する構造です.
PROCESS_INFORMATIONは、プロセスの作成時に関連するデータ構造の1つであり、新しいプロセスとそのメインスレッドに関する情報を返します.
PROCESS_INFORMATIONは、プロセスの作成時に関連するデータ構造の1つであり、新しいプロセスとそのメインスレッドに関する情報を返します.
void CCreateProgressDlg::StartProgress()
{
CString csCommandLine;
char chWindowsDir[MAX_PATH];
char chCommandLine[MAX_PATH];
DWORD dwExitCode;
PROCESS_INFORMATION pi;
STARTUPINFO si;//
memset(&si, 0, sizeof(si));
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOW;//SW_HIDE
// windows
GetWindowsDirectory(chWindowsDir, MAX_PATH);
// “ ”
csCommandLine = CString(chWindowsDir) + "\\NotePad.exe";
::strcpy(chCommandLine, csCommandLine);
// “ ”
BOOL ret = CreateProcess(NULL, chCommandLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
if (ret)
{
//
CloseHandle(pi.hThread);
//
WaitForSingleObject(pi.hProcess, INFINITE);
//
GetExitCodeProcess(pi.hProcess, &dwExitCode);
//
CloseHandle(pi.hProcess);
}
}