Sprawdzanie czy program juz jest zakonczony

0

Czy moze mi ktoś powiedzieć jak w łatwy sposób sprawdzać czy program wcześniej uruchomiony prez shellececute juz zakonczyl swoje dzialanie i jezeli tak to program wykonuje dalsze czynności ???

0

Możesz zastosować jedną z funkcji wyczekujących (wait functions).
Tutaj powinna wystarczyć funkcja WaitForSingleObject.
Wówczas musiałbyś uruchomić program, pobrać handle procesu i przekazać go do WaitForSingleObject.
Aby pobrać handle procesu użyj ShellExecuteEx albo CreateProcess (nie ShellExecute).

Przykład z wykorzystaniem ShellExecuteEx:
[code]// w klauzuli uses dołącz moduł ShellAPI
[b]procedure[/b] RunModalProcess;
[b]var[/b]
sei: TShellExecuteInfo;
exe, params: string;
[b]begin[/b]
exe := 'C:\WINNT\NOTEPAD.EXE';
params := 'C:\BOOT.INI';

[b]with[/b] sei [b]do[/b]
[b]begin[/b]
cbSize := SizeOf(sei);
lpFile := PChar(exe); //!!

1 użytkowników online, w tym zalogowanych: 0, gości: 1