【发布时间】:2019-11-19 08:31:55
【问题描述】:
我制作了一个程序来扫描我公司的子网,让我在单个客户端或所有客户端上一起做很多事情(比如全部关闭)。我留下一个屏幕截图,显示我的程序是如何工作的。
出于某些需要,我尝试添加一个名为“Process Kill”的函数,该函数向我显示所选客户端的正在运行的任务列表(仅“应用程序”选项卡,而不是后台或系统任务),然后让我杀死我选择一个。
问题是我只找到了显示所有已打开进程的功能(考虑到系统任务,通常不少于 100 个),我不喜欢它。
所以我问你是否有人知道如何获取仅在“应用程序”选项卡中打开的 Taksk 的列表。
如果你想添加让我也远程杀死它的代码,将会很有用。
谢谢!
更新:
这是我实际用来获取 MenuStrip 项中所有进程的方法
//IP Address of the remote machine
string ipAddress = row.Cells["IP"].Value.ToString();
ManagementScope scope = new ManagementScope(@"\\" + ipAddress + @"\root\cimv2");
scope.Options = connectoptions;
//Define the WMI query to be executed on the remote machine
SelectQuery query = new SelectQuery("select * from Win32_Process");
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query)){
ManagementObjectCollection collection = searcher.Get();
foreach (ManagementObject process in collection){
(conMenuStripIP.Items[5] as ToolStripMenuItem).DropDownItems.Add(process["Name"].ToString());
}
}
【问题讨论】:
-
“最重要的任务”。我们怎么知道那是什么?你怎么定义最重要的,我个人最重要的任务可能和你的不一样,我自己喜欢扫地机(很多)
-
对不起,我的意思是只有应用程序选项卡,要编辑帖子
标签: c# remote-access kill-process taskkill