Witam
Czy jest możliwe aby oczekiwać na zakończenie obcego programu przy aktywnym okienku mojego programu?
Funkcja której użyłem:
void __fastcall ExecuteApplication(AnsiString FileName, char param[], HWND h)
{
SHELLEXECUTEINFO sei;
memset(&sei, 0, sizeof (sei));
sei.cbSize = sizeof(sei);
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
sei.hwnd = h;
sei.lpVerb = "open";
sei.lpFile = FileName.c_str();
sei.lpParameters = param;
sei.nShow =SW_MINIMIZE; //SW_MINIMIZE; //SW_HIDE; //SW_SHOWDEFAULT;
if(ShellExecuteEx(&sei))
try
{
WaitForSingleObject(sei.hProcess, INFINITE);
}
__finally
{
CloseHandle(sei.hProcess);
}
}
Przy wywołaniu WaitForSingleObject(sei.hProcess, INFINITE) okno mojego programu jest nieaktywne.
Czy jest jakiś sposób aby to zmienić?
Bardzo proszę o pomoc