Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何查找运行诊断进程的凭据_C#_Visual Studio 2012 - Fatal编程技术网

C# 如何查找运行诊断进程的凭据

C# 如何查找运行诊断进程的凭据,c#,visual-studio-2012,C#,Visual Studio 2012,如何在c visual studio 2012 web应用程序中以编程方式查找System.Diagnostic.Process在哪个凭据/标识下运行?假设您已添加对System.Management的引用,并且您知道感兴趣的进程ID,则可以使用以下代码: public void GetProcessOwner(int processId) { string query = "SELECT * FROM Win32_Process WHERE ProcessId = " + proces

如何在c visual studio 2012 web应用程序中以编程方式查找System.Diagnostic.Process在哪个凭据/标识下运行?

假设您已添加对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"]);
        }
    }
 }

你开始这个过程了吗?你可以这样做@stuartd:在.NET中这样做的一个例子将是一个很好的答案。@JohnsUnders[grumble]注意这不是web应用程序特有的。