我可以终止任务管理器中显示的正在运行的进程,但有些游戏(如 KnightOnline 和 Metin2)不会显示在任务管理器中,所以我无法终止它们。我一直在寻找解决方案,但找不到。这是一个网吧软件,我只想在客户离开时关闭所有程序和游戏,以便新客户拥有一个全新的桌面。
由于 Windows 会自动关闭所有内容,我想过结束会话并重新登录,但这似乎并不容易,也不是最好的方法。
等待您的宝贵意见
答案1
使用 ProcessExplorer -http://technet.microsoft.com/en-us/sysinternals/bb896653检查所有进程并关闭您想要关闭的进程。它应该会显示每个帐户上的每个应用程序 - 当然,前提是您拥有管理员权限。
要以编程方式杀死它,请检查此帖子:https://stackoverflow.com/questions/1642231/how-to-kill-ac-process
如果您不知道进程的名称,但知道计算机上运行的可执行文件的名称 (C:...\Metin.exe),那么您可以遍历所有进程并在已加载模块列表 (Modules 属性) 中搜索具有可执行文件名称的模块的进程 (ProcessModule 类中的 FileName 属性)。 也许有帮助。
答案2
如果您在“应用程序”选项卡中找不到您的应用程序,则在任务管理器中切换到第二个选项卡“进程”,找到所需的应用程序进程,然后按“结束进程”,通常所有进程的名称都与其应用程序相似,参见下图:
答案3
从命令行执行
"tasklist | more"
注意 PID(例如 123)
要杀死该项目
"taskkill /f /pid 123"
好处是这些命令也可以在远程系统上运行。
"tasklist /s <systemname> /u <domain>\<user>"
与 taskkill 相同
答案4
中有Kill
方法Process
。您可以这样使用它:
var procs = System.Diagnostics.Process.GetProcesses(); // Get all processes in the system
procs[0].Kill();
还有 GetProcessesByName 方法,您可以通过其名称获取价格:
var procs = System.Diagnostics.Process.GetProcessesByName("firefox");