C++ 如何获取所有系统进程的GUI资源?

C++ 如何获取所有系统进程的GUI资源?,c++,winapi,gdi,managed-c++,C++,Winapi,Gdi,Managed C++,我需要在Windows xp系统中测量所有使用过的GDI对象。我找到了一个GetGuiResources(handlehprocess中的_,dworduiflags中的_)方法(带有GR_GDIOBJECTS标志)。我为从WinBase.h中定义的GetCurrentProcess()方法获得的进程调用它 我不知道如何为其他系统进程调用它,这是我通过system::Diagnostics::Process::GetProcesses()获得的,因为该函数返回一个进程指针数组,而GetGuiRe

我需要在Windows xp系统中测量所有使用过的GDI对象。我找到了一个GetGuiResources(handlehprocess中的_,dworduiflags中的_)方法(带有GR_GDIOBJECTS标志)。我为从WinBase.h中定义的GetCurrentProcess()方法获得的进程调用它

我不知道如何为其他系统进程调用它,这是我通过system::Diagnostics::Process::GetProcesses()获得的,因为该函数返回一个进程指针数组,而GetGuiResources接受一个句柄

有人知道解决这个问题的办法吗?如何将进程指针转换为句柄或获取所有正在运行的系统进程的句柄

提前谢谢你的帮助

使用GetProcesses()返回的数组的每个进程对象的属性,可以获得每个进程的ID。然后,从一个ID,您可以通过API获得一个句柄。当你不再需要它的时候,记得把它关上

请注意,不能使用流程对象的属性,因为它仅适用于Process.Start返回的对象


顺便说一下,记住,对于新项目,你应该使用新的C++/CLI语言来代替旧的托管C++扩展。< /P>是的,我必须在VisualStudio中设置/CLR:OLDFAccript,因为代码没有这个代码就编译不了。