Вниз
Скачать: CL | DM;

Проверка процессов   Найти похожие ветки 

← →
ArchValentin ©   (2006-02-12 08:09) [0]

Доброго всем времени суток. Проблема такая, у меня есть путь типа c:\Прога\proga.exe, как можно проверить, запущена ли она. Заранее благодарен


← →
kaZaNoVa ©   (2006-02-12 11:33) [1]

в uses добавь Tlhelp32, PsApi

Function IfRunProgram(ProgramFullName:string):Boolean;
var
hSnapshot, hProcess: THandle;
PE: TProcessEntry32;
Path: array [0..MAX_PATH] of Char;
begin
Result:=False;
hSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if hSnapshot <> INVALID_HANDLE_VALUE then
begin
  PE.dwSize := sizeof(PE);
  if Process32First(hSnapshot, PE) then
    repeat
      hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, FALSE, PE.th32ProcessID);
      if GetModuleFileNameEx(hProcess, 0, Path, sizeof(Path)) <> 0 then
        if (pos(UpperCase(ProgramFullName),UpperCase(Path))>0  ) then Result:= True;
      CloseHandle(hProcess)
    until not Process32Next(hSnapshot, PE);
    CloseHandle(hSnapshot)
end
end;

//пример использования

If IfRunProgram("Explorer") then MessageBox(0,"Программа запущена","Внимание",0);



← →
maxim161 ©   (2006-02-12 17:29) [2]

Так это надо в каком-нибудб таймере ставить?


← →
kaZaNoVa ©   (2006-02-13 00:22) [3]

maxim161 ©   (12.02.06 17:29) [2]
ага


← →
kaZaNoVa ©   (2006-02-13 12:14) [4]

да, чуть не забыл .. код  [1] может некорректно выдавать начало пути.. поэтому лучше писать тока конец . .например If IfRunProgram("proga.exe") then MessageBox(0,"Программа запущена","Внимание",0);




Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.072 c
5-1130612849
forgery
2005-10-29 23:07
2006.05.07
TIcon + TLabel


2-1145442756
@gent
2006-04-19 14:32
2006.05.07
Как мне выводить в Memo не только ответ, но и решение


2-1145416828
Bublik
2006-04-19 07:20
2006.05.07
Помогите


15-1144778438
Серджинйо
2006-04-11 22:00
2006.05.07
Graphics.pas


2-1145204475
Bogdan1024
2006-04-16 20:21
2006.05.07
Complex numbers в Дэлфи




   Наверх