如何在c# VisualStudio2012Web应用程序中找到System.Diagnostic.Process以编程方式运行的凭据/标识?
发布于 2014-09-03 22:28:57
假设您已经添加了对System.Management的引用,并且您知道您感兴趣的进程ID,那么您可以使用以下代码:
public void GetProcessOwner(int processId)
{
string query = "SELECT * FROM Win32_Process WHERE ProcessId = " + processId;
using (var searcher = new ManagementObjectSearcher("root\\CIMV2", query))
{
foreach (var queryObj in searcher.Get().OfType<ManagementObject>())
{
ManagementBaseObject outParams = queryObj.InvokeMethod("GetOwner", null, null);
Console.WriteLine("{0} is owned by {1}\\{2}", queryObj["Name"], outParams["Domain"], outParams["User"]);
}
}
}https://stackoverflow.com/questions/25654024
复制相似问题