A_Fann 2022-04-13 18:10 采纳率: 90.9%
浏览 129

如何使用C#获取计算机所有用户名以及用户下的的进程

类似与windows任务管理器的用户功能,可以查看不同用户下的进程

img

  • 写回答

2条回答 默认 最新

  • 金士顿 2022-04-14 10:48
    关注

    需要添加对 System.Management.dll 的引用

    using System.Diagnostics; 
    using System.Management;static void Main(string[] args) 
    { 
    foreach (Process p in Process.GetProcesses()) 
    { 
    Console.Write(p.ProcessName); 
    Console.Write("----"); 
    Console.WriteLine(GetProcessUserName(p.Id));
    } 
    Console.ReadKey(); 
    }private static string GetProcessUserName(int pID) 
    { 
    string text1 = null; 
    SelectQuery query1 = new SelectQuery("Select * from Win32_Process WHERE processID=" + pID); 
    ManagementObjectSearcher searcher1 = new ManagementObjectSearcher(query1); 
    try 
    { 
    foreach (ManagementObject disk in searcher1.Get()) 
    { 
    ManagementBaseObject inPar = null; 
    ManagementBaseObject outPar = null; 
    inPar = disk.GetMethodParameters("GetOwner"); 
    outPar = disk.InvokeMethod("GetOwner", inPar, null); 
    text1 = outPar["User"].ToString(); 
    break; 
    } 
    } 
    catch 
    { 
    text1 = "SYSTEM"; 
    } 
    return text1; 
    }
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月13日

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100