进程的真实姓名

问题描述

我目前正在构建一个程序来检查程序是否正在运行。目标是在程序尚未运行时也执行该程序。

唯一的问题是我必须获得程序的“真实姓名”。我如何找到它?

示例: 文本编辑器叫做记事​​本

Vlc 媒体播放器被称为 vlc

Microsoft Powerpoint 被称为 powerpnt 我所指的真实名称是我试图获取其状态的任务的进程名称

或者在检查文件处于活动状态后是否有不同的方式来执行文件

所以我构建了这个:

    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 的程序和某些选定的程序...

解决方法

是时候回答我自己的问题了。

如果你想启动一个进程,你不需要“真实姓名”(这是 Jimi 在评论中正确指出的进程名称)。

的情况下
Process.Start("add Path in here");

但是如果你想检查一个进程是否已经在运行,你必须使用进程名称。 在

的情况下
Process.GetProcessesByName("add the executable name in here");

在某些情况下,您必须在其他情况下使用 .exe。这取决于每个程序,虽然我不明白为什么。

如果你想找出进程名称,只需打开任务管理器并打开详细版本。然后右键单击顶部并选择进程名称选项。然后它会显示进程名称。您也可以转到 Github:https://github.com/yibn2008/find-process

并下载此用户进程查找器。