Link to home
Start Free TrialLog in
Avatar of kapot
kapot

asked on

Detecting a program if it is running.

Hello,

Is it possible to detect if a program is running in the system ? For example "ZoneAlarm".

I found a discussion about it, but it is in Visual Basic :

http://groups.google.nl/groups?hl=nl&lr=&threadm=uU%24DlimvBHA.2324%40tkmsftngp02&rnum=15&prev=/groups%3Fq%3Ddetecting%2Bzonealarm%26start%3D10%26hl%3Dnl%26lr%3D%26selm%3DuU%2524DlimvBHA.2324%2540tkmsftngp02%26rnum%3D15

Just wondering if you could help with this using Delphi.

Thanks in advance,

Avatar of din345
din345

function IsFileInUse(path: String): Boolean;
var
  f: file;
  r: integer;
begin
  r := - 1;
  system.AssignFile(f, path);
  {$I-}
  reset(f);
  {$I+}
  r := ioresult;  {sm(ns(r));}
  {5 = access denied}
  if (r = 32) or (r = 5) then
    result := true
  else
    result := false;
  if r = 0 then
    system.close(f);
end;

//Usage:
procedure TForm1.Button1Click(Sender: TObject);
begin
 if IsFileInUse('C:\file.exe') then ShowMessage('Program is in use');
end;
ASKER CERTIFIED SOLUTION
Avatar of thousandjulys
thousandjulys

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial