我有这个功能,我检查过程是否已启动以及何时退出。 但我在IF上使用断点并且列表计数一直是0。
当我运行任务amanager时,我看到bf3.exe * 32 那么这里有什么不对吗?
private void isProcessRunning()
{
Process[] proclist = Process.GetProcessesByName("bf3.exe");
if (proclist.Length > 0)
{
Logger.Write("Battlefield 3 Started");
alreadyRun = true;
}
else if (alreadyRun == true)
{
Logger.Write("Battlefield 3 Exited");
}
}
答案 0 :(得分:10)
进程名称是进程的友好名称,例如Outlook,,不包含.exe扩展名或路径。 GetProcessesByName有助于获取和操作与同一可执行文件关联的所有进程。例如,您可以传递可执行文件名作为processName参数,以便关闭该可执行文件的所有正在运行的实例。
强调我的。
答案 1 :(得分:0)
删除.exe。这似乎对我有用。