mi_ko's picture

Unable to find an entry point named 'glCreateProgram' in DLL 'opengl32.dll' in screensaver

I have very odd problem with my C# OpenTK screensaver application. When I compile the program and run it before changing the extension, as EXE file, it works properly. But when I change the extension to SCR and run it, it crashes with a System.EntryPointNotFound exception (glCreateProgram function in this case). 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"

as SCR file: 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. For little experiment I changed extension to BAT and it run perfectly well. 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.

Any ideas?