winform中如何用listview实现进程用户名的获取??

林海 2009-12-29 01:47:43
求助~~~~~~
...全文
71 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
林海 2009-12-29
  • 打赏
  • 举报
回复
SelectQuery query = new SelectQuery("Select * from Win32_Process WHERE processID=" + pID);
这句话貌似有问题
Snowdust 2009-12-29
  • 打赏
  • 举报
回复
using System.Diagnostics;
using System.Management;

private static string GetProcessUserName(int pID)
{
string userName = null;
SelectQuery query = new SelectQuery("Select * from Win32_Process WHERE processID=" + pID);
ManagementObjectSearcher searcher1 = new ManagementObjectSearcher(query);
try
{
foreach (ManagementObject disk in searcher1.Get())
{
ManagementBaseObject inPar = null;
ManagementBaseObject outPar = null;
inPar = disk.GetMethodParameters("GetOwner");
outPar = disk.InvokeMethod("GetOwner", inPar, null);
userName = outPar["User"].ToString();
break;
}
}
catch
{
userName = "SYSTEM";
}
return userName;
}

List<string> userList = new List<string>();
foreach (Process p in Process.GetProcesses())
{
userList.Add(GetProcessUserName(p.Id));
}

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧