Создаю приложение: ShellExecute(xHWND...
Чем можно определить по xHWND выполняется ли еще приложение или уже нет?
Спасибо за внимание к чайнику...
Здравствуйте, abrikos2002, Вы писали:
A>Чем можно определить по xHWND выполняется ли еще приложение или уже нет?
по HWND — никак. Если процесс издох, то никаких HWND у него не будет.
Юзай ShellExecuteEx.
SHELLEXECUTEINFO info;
ZeroMemory(&info,sizeof(info));
info.cbSize = sizeof(info);
info.lpFile = "CCProxy.exe";
info.lpVerb = "open";
info.lpDirectory = m_Directory;
info.nShow = SW_HIDE;
info.fMask = SEE_MASK_NOCLOSEPROCESS;
BOOL bRet = ::ShellExecuteEx(&info);
if(bRet)
{
info.hProcess; // это нужно запомнить.
}
Когда хочешь проверить, работает ли еще аппликация, делаешь так
if(WaitForSingleObject(info.hProcess,0) == WAIT_OBJECT_0) // ожидаешь 0 милисекунд.
{
// успешно издохла :)
}
else
{
// успешно сопротивляется издыханию
}