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


Автор: ashkalov 30.7.2012, 12:58
Я новичок в этом деле, поэтому сильно не ругайте 

Хочу сделать вызов события по условию.
Например

Ищем запущенный процесс "Project1.exe"
если не найден то показываем сообщение и закрываем программу

буду благодарен за вашу помощь

Автор: shoker 30.7.2012, 15:19
Код

uses
  TlHelp32, ShellAPI; 
  
function GetProcessByEXE(exename: string): THandle; 
var
  hSnapshoot: THandle; 
  pe32: TProcessEntry32; 
begin
  Result:= 0; 
  hSnapshoot:= CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 
  if (hSnapshoot = 0) then Exit; 
  pe32.dwSize:= SizeOf(TProcessEntry32); 
  if (Process32First(hSnapshoot, pe32)) then
    repeat
      if (pe32.szExeFile = exename) then
      begin
        Result:= pe32.th32ProcessID; 
        exit; 
      end; 
    until not Process32Next(hSnapshoot, pe32); 
end; 
  
procedure TForm1.Button1Click(Sender: TObject); 
begin
  if GetProcessByEXE('notepad.exe') = 0 then
    ShellExecute(0, 'open', 'notepad', nil, nil, SW_SHOWNORMAL) 
  else
    ShowMessage('Уже запущено'); 
end;




может это поможет...
взял с http://www.delphisources.ru/forum/showthread.php?t=5509

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