是否有可能像FRAPS一样检测正在使用OpenGL或DirectX的应用程序?(可能使用某种形式的钩子)?我可能不需要实际绘制到窗口,我只需要知道哪些进程正在进行某种形式的3D渲染。
(编辑:) 如果您不熟悉它,FRAPS是一个可以在3D应用程序上绘制“每秒帧数”计数器的程序。 FRAPS会自己找到所有正在运行的3D应用程序,而无需您指定进程名称。
“每秒帧数”计数器在外部游戏上的示例:
是否有可能像FRAPS一样检测正在使用OpenGL或DirectX的应用程序?(可能使用某种形式的钩子)?我可能不需要实际绘制到窗口,我只需要知道哪些进程正在进行某种形式的3D渲染。
(编辑:) 如果您不熟悉它,FRAPS是一个可以在3D应用程序上绘制“每秒帧数”计数器的程序。 FRAPS会自己找到所有正在运行的3D应用程序,而无需您指定进程名称。
“每秒帧数”计数器在外部游戏上的示例:
EnumProcesses
和EnumProcessModulesEx
来完成,这将至少给你一个可能使用OGL或DX的进程集合作为起点。Present
或OGL的wglSwapBuffers
。EnumProcessModulesEx
),但您需要一个64位应用程序才能获取32位和64位进程(请参见备注),并且您仍然需要32位构建以适用于32位操作系统。 - Necrolis