Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

In Windows 7, I'm looking for a quick way to see if a certain application is running or not. (The specifics of the application don't matter - it could be Notepad or Internet Explorer, for example.)

I have the application icon pinned to my task bar, so one solution would be if the colour of the icon changed when the application was running. However, there may be other ways - any noticeable change to the Windows GUI which doesn't require clicking or typing will do.

Do you have any suggestions?

EDIT: A bit more context: I'm a software developer who frequently runs a build script. The script happens to fail if a certain application is open. Sometimes I forget to check if the application is open; then I have to close the application and re-run the script.

share|improve this question
    
What don't you like about how Windows is handling it? The GUI does change when you launch an application that's pinned. –  Tanner Jan 16 '13 at 17:27
    
Well, if the application is minimized I cannot tell the difference. (Of course, you can just hover the mouse over the taskbar icon and see if there is a popup. However, the ideal solution would just require me to look at the screen without interfering with my workflow.) –  user12816 Jan 16 '13 at 19:14
    
Can you take a screenshot? This is making no sense to me. There should be a clear difference. –  Tanner Jan 16 '13 at 19:27
    
You got WMI enabled ? –  Ofiris Jan 16 '13 at 19:40
    
@r.tanner.f Oops... You're absolutely right. Only now do I see that the background of the icon gets brighter with a border around it when the application is running. Thank you for making me take a closer look - and my apologies to everyone for asking a question with such an obvious answer. –  user12816 Jan 17 '13 at 6:24
add comment

8 Answers

up vote 5 down vote accepted

This is built in to Windows 7. There should be a border around the icon.

Internet Explorer pinned and not running:

enter image description here

Internet Explorer pinned, running, and minimized:

enter image description here

share|improve this answer
add comment

Try running

tasklist | findstr "notepad"
share|improve this answer
1  
You can also use TASKLIST /FI "IMAGENAME eq notepad.exe". –  aphoria Jan 17 '13 at 13:03
add comment

This can be achieved with a short AutoIt script. It requires that you install the AutoIt software.

The details of such a script is found in the official documentation at http://www.autoitscript.com/autoit3/docs/functions/ProcessExists.htm.

share|improve this answer
add comment

The most reliable way is to check if the process is running. You can use tasklist or pslist (direct link) from SysInternals.

share|improve this answer
add comment

Procmon from SysInternals will tell you it is running and if you need to learn more about the application, it can thoroughly illustrate the files and additional threads it is spawning.

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

share|improve this answer
add comment

If you have WMI enabled (should be by default).

I would suggest using Sysinternals BGinfo

You can call BGinfo using task scheduler every X seconds and update your desktop background with custom defined WMI query:

SELECT Name  FROM Win32_Process Where Name like "notepad.exe" 

Of course you can customize as you like.

Configuring bginfo.exe is very easy.

example

share|improve this answer
add comment

I knocked up this PowerShell script. It checks if a process assigned to $Victim is in the list returned by Get-Process. Much of the rest of the script is concerned with creating the Message Box payload.

Start-Sleep is just to give you breathing space between tests.

It is an original idea from an amateur script writer, thus could benefit from improvements, both in scripting and in the logic.

$Victim = "iExplore"
function Output-MsgBox
{
$WshShell = New-Object -comobject wscript.shell
$Message ="$Victim is running "
$PopUp = $WshShell.popup("$Message",0,"Your Alert ",1)
}
For (1..1000)
$Alerty = Get-Process
if($Alerty.ProcessName -contains $Victim) {
   Output-MsgBox; Start-Sleep 10}
Else {Write-Host "No $Victim";Start-Sleep 10}
}
share|improve this answer
add comment

Ctrl+Shift+Esc should bring up Task Manager. The first tab on the left shows your applications, the next tab shows your running processes. If you want to see all running processes, click the "Show processes from all users" button. There's no need to install anything from Sysinternals if I read your question right.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.