Am un program a.exe care foloseste un dll, b.dll.
In programul a.exe folosesc functii definite in b.dll.
Din programul a.exe cu una din functiile definite in b.dll, lanseaz o aplicatie, c.exe.
Doresc ca pe perioada utilizarii aplicatiei c.exe, a.exe sa fie blocata (intrerupta) si sa se deblocheze cand inchid aplicatia c.exe.
Va multumesc pentru rabdare. Poate ma ajutati cu un sfat.
intrerupere program
Re: intrerupere program
Poate ajuta la ceva: b.dll si c.exe sunt facute de mine si pot interveni in ele.
Re: intrerupere program
Dacă c.exe este lansat cu CreateProcess, atunci încearcă asta:
Unde h este hProcess returnat de CreateProcess în parametrul PROCESS_INFORMATION.
Code: Select all
WaitForSingleObject( h, INFINITE );
Re: intrerupere program
Viorel, iti multumesc foarte mult. A mai ramas o problema: a.exe nu face nimic cat ma joc cu c.exe dar daca apas pe butoane etc in a.exe le tine minte comenzile si dupa ce inchid c.exe, le executa. Pot face ca a.exe sa fie inghetat de-a binelea cat ruleaza c.exe?
Re: intrerupere program
Încearcă să dezactivezi fereastra sau dialogul cu EnableWindow(..., FALSE). Apoi re-activează. Sau poate mai bine ascunzi cu ShowWindow(..., SW_HIDE).
Re: intrerupere program
Si cum gasesc HWND , a handle to the window to be enabled or disabled. Am incercat
HWND hWnd = FindWindow(NULL,"a.exe");
if(hWnd)
{EnableWindow(hWnd, FALSE);
}
dar nu-mi blocheaza fereastra lui a.
HWND hWnd = FindWindow(NULL,"a.exe");
if(hWnd)
{EnableWindow(hWnd, FALSE);
}
dar nu-mi blocheaza fereastra lui a.
Re: intrerupere program
Nu e nevoie sa o cauti (fereastra), pentru ca la un moment dat tu o creezi (CreateWindow).toderut wrote:Si cum gasesc HWND ?
If you think C++ is not overly complicated, just what is a
protected abstract virtual base pure virtual private destructor
and when was the last time you needed one? — Tom Cargill (1990)
protected abstract virtual base pure virtual private destructor
and when was the last time you needed one? — Tom Cargill (1990)