ShellExecuteEx 함수 종료시점 잡기

ShellExecuteEx 함수를 사용할 때, 프로그램 실행이 종료 될때 까지 대기해야 할 경우 사용하면 된다.
GetExitCodeProcess() 함수의 2번째 인자로 사용되는 ExitCode 변수의 값이 STILL_ACTIVE가 아니라면 종료 되었다는 의미이므로 그 시점을 while 구분을 이용해서 잡는 것이다.. ^^

[code lang=”cpp”]
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 );

}
[/code]

zemna

Programmer/Web/Mobile/Desktop

You may also like...

Leave a Reply