Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
401 views
in Technique[技术] by (71.8m points)

Detecting a Process is already running in windows using C# .net

How do I detect if a process is already running under the Windows Task Manager? I'd like to get the memory and cpu usage as well.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Simple example...

bool processIsRunning(string process)
{
    return (System.Diagnostics.Process.GetProcessesByName(process).Length != 0);
}

Oops... forgot the mem usage, etc...

bool processIsRunning(string process)
{
System.Diagnostics.Process[] processes = 
    System.Diagnostics.Process.GetProcessesByName(process);
foreach (System.Diagnostics.Process proc in processes)
{
    Console.WriteLine("Current physical memory : " + proc.WorkingSet64.ToString());
    Console.WriteLine("Total processor time : " + proc.TotalProcessorTime.ToString());
    Console.WriteLine("Virtual memory size : " + proc.VirtualMemorySize64.ToString());
}
return (processes.Length != 0);
}

(I'll leave the mechanics of getting the data out of the method to you - it's 17:15 here, and I'm ready to go home. :)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...