【发布时间】:2024-05-18 12:05:02
【问题描述】:
我有一个应用程序暂时禁用屏幕保护程序以运行幻灯片放映。我用它来打开或关闭它:
i = SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, active, Nothing, SPIF_SENDWININICHANGE)
这在 XP 中运行良好。在 Windows 7 中,它会正确禁用屏幕保护程序。但是,当再次启用时,在正常的屏幕保护启动时间,系统会要求输入密码,而不是显示屏幕保护。
从此时起,直到在控制面板中调整屏幕保护程序设置,密码屏幕将显示在屏幕保护程序的位置。
我还应该为 Windows 7 做些什么吗?我知道 Windows 7 不支持 SPI_GETSCREENSAVEACTIVE,但应该支持 SPI_SETSCREENSAVEACTIVE。
【问题讨论】:
-
您是否在提升的权限下运行应用程序?
-
Windows 7用户是管理员帐号,但应用运行正常。
-
如果您在提升的权限下运行应用程序会发生什么?
-
应用以管理员身份运行时没有变化。我可能会补充说,当这种情况发生时,它是一个“永久”设置。也就是说,从此时开始,直到在控制面板中调整屏幕保护程序设置为止,将显示密码屏幕而不是屏幕保护程序。
标签: .net vb.net winforms windows-7 screensaver