如何在c#中使用进程句柄帮助查找进程名称

时间:2010-06-22 07:27:07

标签: c#-3.0

如何在c#....

的过程句柄的帮助下找到进程名称

2 个答案:

答案 0 :(得分:2)

以一种简单的方式,如果您已经掌握了句柄,则可以获得所有流程

Process.GetProcesses()

然后比较你的句柄

IntPtr myHandle = ....    
foreach (Process process in processes)
                if (process.Handle = myHandle)
                    ....

最后得到进程的名称

foreach (Process process in processes)
     if (process.Handle = myHandle)
     {
          string temp = process.ProcessName;
          ....
     }

您在命名空间

中定义了Process类
System.Diagnostics

答案 1 :(得分:0)

编辑:忘了你需要先调用GetWindowThreadProcessId来从句柄中获取pid。更多信息here。如果您查看Pinvoke页面here,您可以找到完整的VB.Net示例。

Process.GetProcessById(id).ProcessName

System.Diagnostics命名空间中,有关详细信息,请参阅here