C#获取进程用户名

void Main()
{
    Process.GetCurrentProcess().Id.Dump();
    getProcessOwnerName(Process.GetCurrentProcess().Id).Dump();
}

public string getProcessOwnerName(int processId)
{
    var processes = new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_Process WHERE ProcessId = " + processId);
    foreach (System.Management.ManagementObject process in processes.Get())
    {
        try
        {            
            string[] OwnerInfo = new string[2];
            process.InvokeMethod("GetOwner", (object[])OwnerInfo);
            return OwnerInfo[0];    
        }
        catch
        {
            return string.Empty;
        }
    }
    
    return string.Empty;
}

 

posted on 2020-11-19 10:39  空明流光  阅读(733)  评论(0编辑  收藏  举报

导航