(อย่างไร) ฉันสามารถเปลี่ยนเวลาได้จนกว่าตัวรักษาหน้าจอจะเริ่มทำงานจากบรรทัดคำสั่ง?


10

ตามที่ชื่อถาม (Windows 7) (อย่างไร) ฉันสามารถเปลี่ยนเวลาได้จนกว่าตัวรักษาหน้าจอจะเริ่มทำงานจากบรรทัดคำสั่ง? เป็นไปได้ไหม

ปกติฉันมีความสุขกับการตั้งค่า 5 นาที แต่บางครั้งฉันต้องการที่จะทำให้มันอีกต่อไป ฉันต้องการสองความยาวที่ผูกไว้กับปุ่มลัด (ฉันรู้วิธีทำ)

ฉันเดาว่าฉันสามารถบันทึกมาโครสองตัวและใช้สิ่งเหล่านั้นได้ แต่ฉันแค่สงสัยว่ามีตัวเลือกบรรทัดคำสั่งใด ๆ (รวมถึงการปรับปรุงรีจิสทรี) ที่ฉันสามารถใช้เพื่อบอกให้ Windows เริ่มโปรแกรมรักษาหน้าจอหลังจากไม่มีการใช้งาน X นาที

(โปรดทราบว่าฉันไม่ต้องการเริ่มโปรแกรมรักษาหน้าจอทันทีฉันต้องการเปลี่ยนระยะเวลาที่ Windows จะรอก่อนเริ่ม)

ขอบคุณล่วงหน้า.


[คำตอบ] ในที่สุดฉันก็ใช้รูปแบบของคำตอบจาก @Gjordis - แต่เครดิตทั้งหมดไปถึงเขา

ฉันไม่เห็นสาเหตุที่เราต้องการการดำเนินการ 3 รายการ: เพิ่มลบแล้วเปลี่ยนชื่อและลดจำนวนนั้นเป็นสอง

เนื่องจากฉันต้องการผูกคีย์ลัดฉันจึงต้องเรียกใช้ comamnds สองตัวในที่เดียว โดยปกติหนึ่งสามารถแยกคำสั่งด้วยเครื่องหมายอัฒภาคและออกพวกเขาในหนึ่งบรรทัด (เช่นdir c:;dir d:) ที่ให้ข้อผิดพลาดกับregคำสั่งดังนั้นในที่สุดฉันมีสองไฟล์แบทช์ contens เป็น identitcal เฉพาะการเปลี่ยนแปลงระยะเวลา

สิ่งที่แปลก - ค่าถูกเขียนลงในรีจิสตรีอย่างถูกต้อง แต่แผงควบคุม / ส่วนบุคคล / โปรแกรมรักษาหน้าจอไม่ได้อัปเดต 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

ถ้าสิ่งนี้ช่วยคุณได้โปรดตอบคำถาม ;-)

คำตอบ:


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 เพื่อลองใช้ขอบคุณ
Mawg กล่าวว่าการคืนสถานะโมนิก้า

1
แก้ไขเพื่อหวังว่าจะทำงานในเวลาอื่นด้วย
Gjordis

+1 นั่นมันน่ารำคาญ ฉันเห็นว่ากำลังอัปเดตรีจิสตรีคีย์ แต่เมื่อฉันคลิกขวาที่เดสก์ท็อป (หรือไปที่แผงควบคุม) และเลือก "peronalize" มันยังคงแสดง 5 mintes บน GUI หากฉันตั้งค่า 10 วินาทีผ่านรีจิสตรีโปรแกรมรักษาหน้าจอจะไม่เริ่มทำงานหลังจาก 10 วินาที (หรือแม้แต่สองสามนาที) หากฉันตั้งค่า 1 นาทีใน GUI จากนั้นจะเริ่มหลังจาก 1 นาที (และอัปเดตรีจิสทรีอย่างถูกต้อง)
Mawg กล่าวว่าคืนสถานะโมนิก้า

บางทีมันอาจมีค่าที่ถูกต้อง
Gjordis

+1 ฉันใช้รูปแบบต่าง ๆ ในคำตอบของคุณและโพสต์ไว้ใน qustion ด้านบน ขอบคุณสำหรับความช่วยเหลือของคุณ
Mawg กล่าวว่าจะคืนสถานะโมนิก้า

1

ในความเป็นจริงวิธีนี้ (ผ่านรีจิสทรี) ไม่ทำงานจนกว่าจะรีบูต วิธีเดียวที่จะทำได้โดยไม่ต้องรีบูตเครื่อง PC คือใช้ API:

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

แต่ APIs ไม่สามารถใช้งานได้จากบรรทัดคำสั่งเช่นสคริปต์ VB นี่คือเหตุผล:

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

มันสามารถทำได้โดยการเรียกยูทิลิตี้SetScrTimeout.exe (จากลิงค์แรก) แต่น่าเสียดายที่ยูทิลิตี้ขนาดเล็กนี้ไม่มีอยู่บนอินเทอร์เน็ตอีกต่อไป


ขอบคุณสำหรับสิ่งนั้น บางที SetScrTimeout.exe สามารถพบได้ในทางกลับเครื่อง ? ฉันไม่สามารถตรวจสอบได้เนื่องจากไฟร์วอลล์ของ บริษัท แต่ควรอยู่ที่นั่น - ทุกอย่างอื่นคือ ;-)
Mawg พูดว่าการคืนสถานะโมนิก้า

1
ฉันยังลองบนเซิร์ฟเวอร์ ftp แต่ไม่มีผลลัพธ์ ฉันพบซอร์สโค้ด VB สำหรับจุดประสงค์นั้น ( freevbcode.com/ShowCode.asp?ID=504 ) แต่ฉันไม่สามารถสร้างและแชร์ exe ได้
Aleksandar

มีความคิดใดเกี่ยวกับ VB รุ่นใด (ฉันคาดเดา VN 6)
Mawg กล่าวว่าคืนสถานะโมนิก้า

1
ใช่มันคือ VB6 ขออภัยที่ตอบช้า
Aleksandar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.