- Код: Выделить всё
const PROCESS_TERMINATE=$0001;
var Co, fnd: Boolean;
FS: THandle;
FP: TProcessEntry32;
begin
FS := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
FP.dwSize := Sizeof(FP);
Co := Process32First(FS,FP);
fnd := False;
while integer(Co) <> 0 do begin
if FP.szExeFile = 'TrayApache.exe' then begin
fnd := True;
Break;
end;
Co:=Process32Next(FS,FP);
end;
if not fnd then
ShellExecute(0, 'open', 'E:\WebServers\denwer\Run.exe', nil, nil, 0);
В лазарусе запускаю каждый раз денвер, ибо не знаю, как проверить, запущен ли соответствующий процесс или нет.
- Код: Выделить всё
var
AProcess: TProcess;
begin
AProcess := TProcess.Create(nil);
AProcess.CommandLine := 'E:\WebServers\denwer\Run.exe';
AProcess.Options := AProcess.Options + [poWaitOnExit];
AProcess.Execute;
AProcess.Free;
Относительно Лазаруса - как определить, запущен некий сторонний процесс или нет?