Get the state of window opened by ShellExecute
Hi all,
I wanna know say I opened an exe using ShellExecute(), and now I wanna wait till its finished closing how can I do this.
Code:
//I can do upto here only
HWND H;
H=ShellExecute(MainWindow,"open","Dummy.exe",NULL,NULL,SW_SHOW);
//After this i dnt know what to do
[Test if H has closed] ???
Thanks,
Nisheeth
Re: Get the state of window opened by ShellExecute
You need to use ShellExecuteEx(), check here:
http://msdn.microsoft.com/en-us/libr...54(VS.85).aspx
after it returns TRUE, you need to wait for the SHELLEXECUTEINFO.hProcess before you close it:
Code:
if(lpExecInfo.hProcess)
{
WaitForSingleObject(lpExecInfo.hProcess, INFINITE);
CloseHandle(lpExecInfo.hProcess);
}
Keep in mind though, that unlike CreateProcess() the ShellExecuteEx() does not always return a process handle.