Hi,
I'm looking for any information on how to get other running programs' properties on the same MS Windows XP machine.
But first, I'd like to describe the general idea of what I've made up in my mind. So, I'd like to write a (not so ) simple Windows Forms application in C# that would act as a universal event notifier. For example, this application would check other applications' properties and if certain criteria is met, it would respond in other certain way (eg.: Outlook receives new e-mail / Instant Messenger receives new message and a led on my keyboard starts to flash, so that I am able to see without turning my monitor on that there is some activity).
I hope I described the idea clearly. Since I have very little idea about what, where and how should I look for program states/properties I am looking forward to your help.
I would be very grateful if you show me the path, I don't ask for the solution.
Cheers, have a nice day.

How to get other running programs' properties?
Markus Schuhmacher
There's no single API or notification mechanism that will work for all applications. Different apps have different ways of exposing their state, if they do it at all. So I don't think you'll find a general solution that will cover all your needs. If you want to program against Outlook you should look at the Outlook automation APIs in MSDN. A lot of other information can be obtained with WMI (System.Management).
nyfe
Ok, thanks for your advice. Even though, I would like to discover some patterns and parametrize "event-watcher" for each type of software I will be monitoring.
If this is too general, please write something about types of state exposure different applications have.
To be honest I was astonished by how much information about each running application and their state gives me the Process Explorer (by sysinternals.com), and would like to know if there is some common way to watch applications running.
Thanks in advance for any hints.