我在Visual Studio 2010中使用DetourCreateProcesswithDLL
,并在为glut演示程序创建abgr.exe演示应用程序的过程时为Opengl32.dll,glu32.dll和glut32.dll提供替换dll。
这样我就拦截了Opengl32,glu32,glut32库。然后api从系统文件夹或通常的dll调用相应的apis。
这些dll在各自的库中定义了所有api。
问题是wglMakeCurrent
在Win 7 x64位的NVidia GTX480上返回0或者使用glut demo app(如abgr.exe)失败。它也不能与其他演示应用程序一起使用。
如果我更改了abgr.exe的兼容性或调用DetourCreateProcesswithDLL
的GLIntercept可执行文件,它确实有效。即右键单击exe - >更改属性 - > Compatilibity - >选中256色运行。
然而,这看起来像一个解决方案,显示器看起来并不那么好。如何使用而无需这样做。如何为wglMakeCurrent
获得良好的价值。
从wglMakeCurrent
内调用glutCreateWindow
。
这不是AMD Fusion GPU的问题。有wglMakeCurrent
并返回一个好的值。问题仅出在NVIDIA GTX 480上。有谁知道如何解决这个问题?我已更新驱动程序并在NVIDIA控制面板帮助 - >关于
wglCreateContext返回0x00010000