5

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.

5
  • What don't you like about how Windows is handling it? The GUI does change when you launch an application that's pinned.
    – rtf
    Jan 16, 2013 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, 2013 at 19:14
  • Can you take a screenshot? This is making no sense to me. There should be a clear difference.
    – rtf
    Jan 16, 2013 at 19:27
  • You got WMI enabled ?
    – Ofiris
    Jan 16, 2013 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, 2013 at 6:24

8 Answers 8

7

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

2

Try running

tasklist | findstr "notepad"
1
  • 1
    You can also use TASKLIST /FI "IMAGENAME eq notepad.exe".
    – aphoria
    Jan 17, 2013 at 13:03
2

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.

1

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

1

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

1

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

1

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}
}
0

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .