关闭“未发现 NVIDIA 控制面板”的弹窗
【鸣谢】CSDN ID:Wilbert Lee
前言
迫于压力,众多厂商开始推广 DCH 版本驱动,NVIDIA 也不例外,而两者的差别在于后者的安装包中不带有 NVIDIA 控制面板。
解法
有两种办法:
- 重新安装 NVIDIA 控制面板。
- 禁用 NVIDIA Display Container LS 服务。
【个人延伸-风归来】
找到该服务
常规选项卡---可执行文件的路径,其值拷贝出来,为:
1 C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_33895c186dfc2a0d\Display.NvContainer\NVDisplay.Container.exe -s NVDisplay.ContainerLocalSystem -f C:\ProgramData\NVDisplay.ContainerLocalSystem.log -l 3 -d C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_33895c186dfc2a0d\Display.NvContainer\plugins\LocalSystem -r -p 30000 -cfg NVDisplay.ContainerLocalSystem\LocalSystem
通过任务管理器验证,上述路径里的NVDisplay.Container.exe正好是弹窗对应的进程。
其中的NVDisplay.Container.exe同目录下有一个bat文件,名为:NvContainerRecovery.bat。该bat文件的内容为:
1 @echo off 2 3 if "%1" == "" ( 4 echo Usage: NvContainerRecovery {Service Name} 5 goto NvContainerRecoveryEnd 6 ) 7 8 set __LOG_FILE=NvContainerRecovery.log 9 if not "%2" == "" set __LOG_FILE=C:\ProgramData\NVIDIA\NvContainerRecovery%1.log 10 11 set __RECOVERY_FILE=%LOCALAPPDATA%\NvContainerRecovery%1.reg 12 13 echo Create recovery registry file %__RECOVERY_FILE% > %__LOG_FILE% 14 echo REGEDIT4 > %__RECOVERY_FILE% 15 echo. >> %__RECOVERY_FILE% 16 echo [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\NVIDIA Corporation\NvContainer\%1] >> %__RECOVERY_FILE% 17 echo "Recovery"=dword:00000001 >> %__RECOVERY_FILE% 18 echo. >> %__RECOVERY_FILE% 19 echo [HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\NvContainer\%1] >> %__RECOVERY_FILE% 20 echo "Recovery"=dword:00000001 >> %__RECOVERY_FILE% 21 type %__RECOVERY_FILE% >> %__LOG_FILE% 22 echo Import %__RECOVERY_FILE% in registry >> %__LOG_FILE% 23 regedit.exe /s %__RECOVERY_FILE% 24 25 echo. >> %__RECOVERY_FILE% 26 echo Starting service %1 >> %__LOG_FILE% 27 net start %1 >> %__LOG_FILE% 2>&1 28 if %ERRORLEVEL% EQU 0 goto NvContainerRecoveryEnd 29 30 rem In case of failure, remove recovery setting from registry 31 echo. >> %__RECOVERY_FILE% 32 echo Prepare rollback registry file %__RECOVERY_FILE% >> %__LOG_FILE% 33 echo REGEDIT4 > %__RECOVERY_FILE% 34 echo. >> %__RECOVERY_FILE% 35 echo [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\NVIDIA Corporation\NvContainer\%1] >> %__RECOVERY_FILE% 36 echo "Recovery"=- >> %__RECOVERY_FILE% 37 echo. >> %__RECOVERY_FILE% 38 echo [HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\NvContainer\%1] >> %__RECOVERY_FILE% 39 echo "Recovery"=- >> %__RECOVERY_FILE% 40 type %__RECOVERY_FILE% >> %__LOG_FILE% 41 42 echo Import %__RECOVERY_FILE% in registry >> %__LOG_FILE% 43 regedit.exe /s %__RECOVERY_FILE% 44 45 :NvContainerRecoveryEnd 46 if exist "%__RECOVERY_FILE%" ( 47 echo. >> %__RECOVERY_FILE% 48 echo Delete registry file %__RECOVERY_FILE% >> %__LOG_FILE% 49 del /Q %__RECOVERY_FILE% 50 ) 51 set __RECOVERY_FILE= 52 set __LOG_FILE=