The internet is flooded with variants of this question (as are nVidia's support forums), but only workarounds can be found - most people seem to actually have the issue that they wish to use one graphics processor all the time but another is used by the system all the time. The proper solution to that is, of course, to create a profile for the program in the nVidia Control Panel and set it to use the desired graphics processor all the time.
My own use case is however indeed that I want to start a program with one graphics processor, then the next, then the first, etc. pp. . Being able to use this context menu is pretty vital to not waste a lot of time on
- tab to nVidia Control Panel
- select other graphics processor
- save profile
- tab back to Windows Explorer
Only solution I could find that actually works is to disable UAC completely. Well, how about no.
The nVidia Control Panel offers the option to add a context submenu to the menu opened when right-clicking on an executable. This submenu contains an entry for each installed graphics device on the computer, allowing to select a non-standard device for exactly one start of the program.
In Win7 this worked well for all programs, compatibility settings, "Run as Administrator", etc. all irrelevant (though I do not recall whether I had changed something about my old Win7 setup; mayhap UAC was off).
In Windows 10 Professional, using nVidia Control Panel 8.1.1000.0, choosing any option (including the default) within this context submenu produces the following fault on a target executable set to run in WinXP SP3 compatibility mode:
It does work on an executable without compatibility mode settings.
From what I have garnered, the issue here is that the WinXP compatibility modes imply "Run as Administrator", whereas the nVidia Control Panel is run as normal user if accessed via this context submenu.
I might be mistaken though.
Even if not: how may I elevate its permissions if accessed in such a way?