process 실행 및 종료까지 대기 sample
2018. 10. 29. 18:45ㆍIT-개발/winapi 및 MFC
반응형
(1. WaitForSingleObject 를 사용한 방법 : 펌 - http://sijoo.tistory.com/288)
SHELLEXECUTEINFO info;
// 실행을 위해 구조체 세트
ZeroMemory( &cinfo,
sizeof
(info) );
info.cbSize =
sizeof
(info);
info.lpVerb =
"open"
;
info.lpFile =
"C:\\aaa\\aaa.exe"
;
info.lpParameters =
"\"c:\\a.txt\""
;
info.fMask = SEE_MASK_NOCLOSEPROCESS;
info.nShow = SW_SHOWDEFAULT;
// 프로그램을 실행한다.
int
r = (
int
)ShellExecuteEx( &info );
//프로세스가 종료될 때까지 무한정 기다림
WaitForSingleObject(info.hProcess, INFINITE);
(2. Loop 돌면서 확인하는 방법 방법 : 펌 - https://zemnablog.wordpress.com/2007/08/27/shellexecuteex-%ED%95%A8%EC%88%98-%EC%A2%85%EB%A3%8C%EC%8B%9C%EC%A0%90-%EC%9E%A1%EA%B8%B0/)
SHELLEXECUTEINFO shExIf;
DWORD
dwExitCode;
CString FileName =
"jpk.exe"
;
shExIf.lpDirectory =
"C:my_folder"
;
shExIf.lpParameters =
""
;
shExIf.cbSize =
sizeof
( SHELLEXECUTEINFO );
shExIf.lpVerb =
"open"
;
shExIf.lpFile = FileName;
shExIf.nShow = SW_HIDE;
shExIf.fMask = SEE_MASK_NOCLOSEPROCESS;
ShellExecuteEx( &shExIf );
dwExitCode = 0;
while
(1)
{
::GetExitCodeProcess( shExIf.hProcess, &dwExitCode );
if
( dwExitCode != STILL_ACTIVE )
{
MessageBox(
" jpk.exe 종료"
);
break
;
}
}
'IT-개발 > winapi 및 MFC' 카테고리의 다른 글
[pipe] CreateProcess와 CreatePipe를 이용한 콘솔프로그램 입출력 제어 (펌) (0) | 2019.10.08 |
---|---|
CEdit - 한글기본으로 입력되게 처리 (0) | 2018.11.30 |
shlwapi - pathcreatefromurl (URL to FilePath) (0) | 2018.10.02 |
Web에서 Agent 실행하기(1) - Custom URI (0) | 2018.09.11 |
MAX_PATH - 파일명 및 전체경로 길이 제한 (0) | 2018.06.01 |