[MFC] 프로그램 실행
bool ExecuteCmd(wchar_t *szFName, wchar_t *szPara, bool bShow, bool bWait)
{
DWORD dwRet;
SHELLEXECUTEINFO sei;
//Execute ..
//{
::ZeroMemory(&sei, sizeof(SHELLEXECUTEINFO));
sei.cbSize = sizeof(SHELLEXECUTEINFO);
// sei.hwnd = hWnd;
sei.lpFile = szFName;
sei.lpParameters = szPara;
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
sei.lpVerb = L"open";
if (bShow)
sei.nShow = SW_SHOW;
else
sei.nShow = SW_HIDE;
DWORD result = ::ShellExecuteEx(&sei);
if (sei.hProcess != NULL)
{
while (bWait)
{
DoEvents();
dwRet = ::WaitForSingleObject(sei.hProcess, 100); //INFINITE );
if (dwRet != WAIT_TIMEOUT)
break;
}
return true;
}
else
{
return false;
}
//}
}
void DoEvents()
{
MSG msg;
while (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
}
'프로그래밍' 카테고리의 다른 글
[MFC] 생성 일자 기준으로 폴더 삭제하기 (0) | 2018.10.18 |
---|---|
[MFC] 폴더 삭제 및 이동 (0) | 2018.10.18 |
[MFC] 문자열 바꾸기 (0) | 2018.10.18 |
[MFC] 프로그램 경로 / 파일 이름 등 Tip (0) | 2018.10.18 |