<p>How can I check if an application is running from a batch (well cmd) file?</p>

<p>I need to not launch another instance if a program is already running. (I can't change the app to make it single instance only.)</p>

<p>Also the application could be running as any user.</p>

You should check the parent process name, see
The Code Project
article about a
.NET based solution**
.
A non-programmatic way to check:
Launch Cmd.exe
Launch an application (for instance,
```
c:\windows\notepad.exe
```
)
Check properties of the Notepad.exe process in
Process Explorer
Check for parent process (This shows cmd.exe)
The same can be checked by getting the parent process name.