我尝试使用程序来检查进程是否存在。
using System;
using System.Diagnostics;
using System.ServiceProcess;
namespace ServProInfo
{
class Program
{
public static int IfProcessExist(string processName)
{
try
{
Process[] targetProcess = Process.GetProcessesByName(processName);
int proLen = targetProcess.Length;
if (proLen == 0)
{
Console.WriteLine("The process does NOT exist or has exited...");
return 0;
}
Console.WriteLine("The process status is: Running");
return 1;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace + "\r\n" + ex.Source);
return -1;
}
}
static void Main(string[] args)
{
string type = args[0];
string name = args[1];
switch (type)
{
case "p":
IfProcessExist(name);
break;
}
}
}
}但是,即使我将processName设置为现有进程名称,Process[] targetProcess也始终为空。
我该如何纠正这个程序呢?
发布于 2013-04-10 18:34:41
您可以尝试以下操作:(对我来说很好)
Process[] targetProcess = Process.GetProcessesByName(Path.GetFileNameWithoutExtension(processName));发布于 2015-10-03 13:09:23
尝尝这个
System.Diagnostics.Process[] p1 = System.Diagnostics.Process.GetProcesses();
foreach (System.Diagnostics.Process pro in p1)
{
if ((pro.ProcessName.ToUpper().Contains("Application Nanme")
{
//U r Operations
}
}https://stackoverflow.com/questions/15923371
复制相似问题