(如何)可以更改从屏幕保护程序启动屏幕保护程序之前的时间?


10

标题要求(Windows 7)。(如何)可以更改从屏幕保护程序启动屏幕保护程序之前的时间?可能吗

通常情况下,我对5分钟的设置感到满意,但有时我希望将其设置得更长一些。我想要热键的两个长度(我知道该怎么做)。

我想我可以记录两个宏并使用它们,但是我只是想知道是否有任何命令行选项(包括注册表更新)可用来告诉Windows在X分钟不活动后启动屏幕保护程序。

(请注意,我不想立即启动屏幕保护程序;我想更改Windows在启动之前将等待的时间)

提前致谢。


[答案]我终于在@Gjordis的答案上使用了变体-但所有功劳归功于他。

我不明白为什么我们需要3个操作:添加,删除然后重命名并将其减少为两个。

因为我想绑定到热键,所以我需要一次执行两个命令。通常,可以用分号分隔命令,然后在一行上发出命令(例如dir c:;dir d:)。这给reg命令带来了错误,所以最后我有两个批处理文件。内容相同,只是持续时间改变。

奇怪的是,该值已正确写入注册表,但是“控制面板” /“个性化” /“屏幕保护程序”并没有更新其GUI。但是,我进行了测试,并且屏幕保护程序的确符合预期。

@echo off
reg delete "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut /f
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d 180 /f

如果这对您有帮助,请赞成这个问题;-)

Answers:


7
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d 600 /f

值600以秒为单位,等于10分钟。有趣的是,正如所指出的,这仅在第一次使用时有效。在下一次更改时,您需要像这样创建一个新密钥:

reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOutTemp /t REG_SZ /d 300 /f

然后删除旧的

reg delete "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d 600 /f

然后将新的复制到正确的名称

reg copy "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOutTemp "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut

希望能这样做,并且您不会破坏您的计算机,但是由于您没有此注册表值,因此我认为删除它并不那么可怕。

REG文档在这里:http : //www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/reg.mspx? mfr=true


那行得通:-)第一次是:-((大概是因为我第一次没有注册表项,所以可以加上,但是可能需要随后修改吗?+1尝试
一下

1
编辑以希望也可以在其他时间工作
Gjordis

+1好吧,这很奇怪。我可以看到它正在更新注册表项,但是当我右键单击桌面(或通过控制面板)并选择“ peronalize”时,它仍在GUI上显示5分钟。如果我通过注册表设置了10秒,则屏幕保护程序将在10秒(甚至几分钟)后无法启动。如果我在GUI中设置1分钟,则它会在1分钟后启动(并且它会正确更新注册表)。
Mawg说要

或许它有一个有效值-range
Gjordis

+1我在您的答案上使用了一个变体,并将其张贴在上面的问题中。谢谢您的协助
莫格说要

1

实际上,这种方法(通过注册表)直到重新启动才起作用。无需重启PC的唯一方法就是使用API​​:

https://www.pcreview.co.uk/threads/utility-to-temporarily-change-the-screensaver.2321339/#post-7442568

但是不能从命令行(即VB脚本)使用API​​。原因如下:

http://forums.codeguru.com/showthread.php?31534-VBScript-and-API&p=86696#post86696

可以通过调用实用程序SetScrTimeout.exe(从第一个链接)完成此操作,但是不幸的是,此小实用程序不再存在于Internet上。


感谢那。也许可以在返回机器的路径上找到SetScrTimeout.exe ?由于公司防火墙,我无法检查,但它应该在那儿-其他一切;-)
Mawg说,请恢复Monica

1
我什至在ftp服务器上尝试过,但没有结果。我已经找到了用于此目的的VB源代码(freevbcode.com/ShowCode.asp?ID=504),但是我无法制作和共享一个exe。
Aleksandar

知道哪个版本的VB(我猜是VN 6)吗?
Mawg说恢复Monica

1
是的,它是VB6。回复晚了,请原谅。
Aleksandar
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.