简体   繁体   English

无法在屏幕保护程序中的DLL“opengl32.dll”中找到入口点

[英]Unable to find an entry point in DLL 'opengl32.dll' in screensaver

I have very odd problem with my C# OpenTK screensaver application. 我的C#OpenTK屏幕保护程序应用程序问题非常奇怪。 When I compile the program and run it before changing the extension, as EXE file, it works properly. 当我编译程序并在更改扩展名之前运行它,作为EXE文件,它可以正常工作。 But when I change the extension to SCR and run it, it crashes with a System.EntryPointNotFound exception (glCreateProgram function in this case). 但是当我将扩展名更改为SCR并运行它时,它会因System.EntryPointNotFound异常(本例中为glCreateProgram函数)而崩溃。 In the debugger I have checked that when I run: 在调试器中,我在运行时检查过:

as EXE file: GL.GetString(StringName.Vendor) -> "Intel" GL.GetString(StringName.Version) -> "2.1.0 - Build 8.15.10.2622" 作为EXE文件:GL.GetString(StringName.Vendor) - >“Intel”GL.GetString(StringName.Version) - >“2.1.0 - Build 8.15.10.2622”

as SCR file: GL.GetString(StringName.Vendor) -> "Microsoft" GL.GetString(StringName.Version) -> "1.1.0" 作为SCR文件:GL.GetString(StringName.Vendor) - >“Microsoft”GL.GetString(StringName.Version) - >“1.1.0”

In my application I am using parameterless constructor of GameWindow class to create OpenGL context. 在我的应用程序中,我使用GameWindow类的无参数构造函数来创建OpenGL上下文。 For little experiment I changed extension to BAT and it run perfectly well. 对于很少的实验我改变了对BAT的扩展,它运行得非常好。 I have no idea why my OpenGL context depends on file extension, I'm guessing that screensavers are executed by system on some kind of overlay but truly I couldn't find solution for this issue. 我不知道为什么我的OpenGL上下文依赖于文件扩展名,我猜测屏幕保护程序是由系统在某种覆盖层上执行的,但实际上我找不到解决这个问题的方法。

Any ideas? 有任何想法吗?

Finally, after long searching i found out that Intel blocks hardware support for screensavers using OpenGL. 最后,经过长时间的搜索,我发现英特尔阻止了使用OpenGL对屏幕保护程序的硬件支持。 I have changed extension to "sCr" to fool driver and now everything works fine. 我已将“sCr”的扩展名更改为傻瓜驱动程序,现在一切正常。

Link: opengl.org forum 链接: opengl.org论坛

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法在DLL“opengl32.dll”中找到名为“glBindFramebuffer”的入口点。在MonoGame 3.0中 - Unable to find an entry point named 'glBindFramebuffer' in DLL 'opengl32.dll'. in MonoGame 3.0 无法在DLL中找到入口点 - Unable to find entry point in DLL 无法在 DLL“ComCtl32”中找到名为“TaskDialogIndirect”的入口点 - Unable to find an entry point named 'TaskDialogIndirect' in DLL 'ComCtl32' .net6 无法在 DLL user32.dll 中找到名为“AdjustWindowRectExForDpi”的入口点 - .net6 unable to find an entry point named 'AdjustWindowRectExForDpi' in DLL user32.dll C#EntryPointNotFoundException无法在DLL'kernel32.dll'中找到名为'SetDllDirectory'的入口点 - C# EntryPointNotFoundException Unable to find an entry point named 'SetDllDirectory' in DLL 'kernel32.dll' 无法在 DLL 'CIMWin32.dll' 中找到名为 'Reset' 的入口点 - Unable to find an entry point named 'Reset' in DLL 'CIMWin32.dll' 无法在DLL“advapi32.dll”模拟异常中找到名为“LogonUser”的入口点 - Unable to find an entry point named 'LogonUser' in DLL 'advapi32.dll' Impersonation exception 在DLL'kernel32.dll'中找不到名为'GetProcessID'的入口点 - Unable to find an entry point named 'GetProcessID' in DLL 'kernel32.dll' 在DLL'cvextern'中找不到名为''的入口点 - Unable to find an entry point named '' in DLL 'cvextern' 在DLL'mfplat.dll'中找不到名为'MFCreateMFByteStreamOnStreamEx'的入口点 - Unable to find an entry point named 'MFCreateMFByteStreamOnStreamEx' in DLL 'mfplat.dll'
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM