终止任务管理器中未显示的进程

终止任务管理器中未显示的进程

我可以终止任务管理器中显示的正在运行的进程,但有些游戏(如 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");

相关内容