Need help getting the information of the task manager (Ctrl+Alt+Del)

Hi, im trying to find out some information about a particular project idea i have, is there a way of detecting what the user of a computer is doing i.e. are they using MS Word etc.. and i want to also see if they are idle, by Ctrl+Alt+Del i can see a process called the system idle process, and thus i presume that there is a app/process/coding that detects this. I am sure people here will think that i am some cracker or something like that but im not, im actually trying to develop a system of seeing what each user is doing on their desktop, and having a system administrator view this to see if people are accessing malicious software etc..., any help would be appreciated, i might be in the wrong forum so i do apologise, but it will be based on a LAN and will involve alot of network comms.

So really i need to know,
a.) Although it is in .NET, what would be the preferable language to do this in, and b.) I know this is a huge project so i am looking for a starting point, in Java i can get a timestamp and the computer name as i presume i will get from most of the languages, but i need to know what users are doing, so to start with does anyone know how to detect if a user is idle from there computer?

[1234 byte] By [dagma20] at [2008-2-1]
# 1

Have a look the System.Diagnostics.Process class.

DavidM.Kean at 2007-8-21 > top of Msdn Tech,.NET Development,.NET Base Class Library...
# 2

So, the first part of your question is easy. To get all of the currently running processes, use



foreach(Process process in Process.GetProcesses())
Console.WriteLine(procss.MainModule.FileName);

The system idle process isn't actually a process at all ... it's more of a virtual process that Windows charges processor time to when it doesn't have anything else to run.

Actually detecting that the system is idle would be impossible since if you're running code to check if the system is idle, it isn't: it's running your code Smile

One easy way I can think of is to create a screen saver, which Windows will call whenver the user hasn't interacted with the machine in a specified period of time.

-Shawn

ShawnFarkas-MS at 2007-8-21 > top of Msdn Tech,.NET Development,.NET Base Class Library...

.NET Development

Site Classified