我目前正在构建一个程序,用于检查程序是否正在运行。目标是在程序尚未运行的情况下执行该程序。
唯一的问题是我必须得到";实名制";一个程序。我怎么找到它?
示例:文本编辑器被称为记事本
Vlc媒体播放器被称为Vlc
Microsoft Powerpoint被称为Powerpoint我所指的真实名称是我试图获取状态的任务的进程名称。
或者,在检查文件是否处于活动状态后,是否有其他方法来执行该文件?
所以我构建了这个:
if (Process.GetProcessesByName("notepad").Length > 0 == true && cb1.Checked ==true )
{
lblsm.ForeColor = Color.Green;
lblsm.Text = "online";
}
else if(Process.GetProcessesByName("notepad").Length > 0 == true && cb1.Checked == false)
{
lblsm.ForeColor = Color.Green;
lblsm.Text = "online";
}
else if(Process.GetProcessesByName("notepad").Length > 0 == false && cb1.Checked == true)
{
Process.Start("notepad");
lblsm.ForeColor = Color.Green;
lblsm.Text = "online";
}
else
{
lblsm.ForeColor = Color.Red;
lblsm.Text = "offline";
}
//这种调用进程的方式似乎只适用于windows重新安装的程序和某些选定的程序。。。
是时候回答我自己的问题了。
如果你想开始一个过程,你不需要";实名制";(这是吉米在评论中正确指出的流程名称(。
在的情况下
Process.Start("add Path in here");
但是,如果你想检查一个进程是否已经在运行,你必须使用进程名称。在的情况下
Process.GetProcessesByName("add the executable name in here");
在某些情况下,您必须在其他情况下使用.exe。这取决于每个程序,尽管我不明白为什么。
如果您想找到流程名称,只需打开任务管理器并打开详细版本即可。然后右键单击顶部并选择进程名称选项。然后它会显示进程名称。您也可以访问Github:https://github.com/yibn2008/find-process
并下载此用户进程查找器。