Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Как узнать запущен ли процесс?


Автор: COOLHack 15.6.2008, 00:23
Как узнать запущен ли в данный момент процесс с именем prrroq.exe, и если запущен, в переменную p записать '1' 

Автор: Данкинг 15.6.2008, 00:24
Цитата(COOLHack @  15.6.2008,  01:23 Найти цитируемый пост)
запущен ли в данный момент процесс с именем prrroq.exe

Поюзать поиск по форуму, недавно дважды обсуждалось, точно помню. smile 

Цитата(COOLHack @  15.6.2008,  01:23 Найти цитируемый пост)
в переменную p записать '1'  

Код

var p:integer;
begin
p:=1;
end;

 smile 


Автор: COOLHack 15.6.2008, 00:36
ну как записать то я знаю...   кстати если не в лом скинь ссылку на тему где обсуждалось, а то я чёт в упор не вижу

Автор: Rennigth 15.6.2008, 00:46
COOLHack, 
http://forum.vingrad.ru/forum/topic-108112/anchor-entry823823/0.html

Автор: MadCoder 17.6.2008, 16:56
Функция получения списка процессов:
Код

function GetProcessList: TStringlist;
var
 hSnap:THandle;
 pe:TProcessEntry32;
begin
Result:=TStringlist.Create;
 pe.dwSize:=SizeOf(pe);
 hSnap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
 If Process32First(hSnap,pe) then begin
  If (pe.szExeFile<>'[System Process]') and (pe.szExeFile<>'System') then
   Result.Add(pe.szExeFile);
   While Process32Next(hSnap,pe) do
   begin
  If (pe.szExeFile<>'[System Process]') and (pe.szExeFile<>'System') then
   Result.Add(pe.szExeFile);
   end;
 end;
end;


Поиск нужного процесса в списке:
Код

var
A: TStringList;
P: Integer;
begin
A:=TStringList.Create;
A:=GetProcessList;
if A.IndexOf('prrroq.exe')>0 then
p:=1;


Если не хрена не работает, попробуй добавить в раздел uses TLHelp32.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)