Detect if an application is running


Revision as of 01:43, 7 February 2007 by Markus (Talk | contribs)
Jump to: navigation, search

There are many ways to do that, looking for a mutex, a class, a window or a runnnig exe.

See also HOWTO: Detect instances running in any user session with AppMutex on Inno Setup Knowledge Base.


Checking for a Mutex

It is possible to use

function CheckForMutexes(Mutexes: String): Boolean;

to check for a specified mutex, to see which mutexes are created by an application you can use ProcessExplorer.

Look for a Class Name

It is possible to use

function FindWindowByClassName(const ClassName: String): Longint; 

and get window handle if found. It is possible to use this handle to send window messages.

Look for a Window Name

Instaed of class it is possible to find a window if an application looking for windowname.

function FindWindowByWindowName(const WindowName: String): Longint; 

Look for a running executable file

By using PSVince it is possible to detect if an executable is running.

Personal tools