Текущий архив: 2006.05.07;
Скачать: 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 вся ветка
Текущий архив: 2006.05.07;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.011 c