(Làm thế nào) tôi có thể thay đổi thời gian cho đến khi trình bảo vệ màn hình khởi động từ dòng lệnh?


10

Như tiêu đề yêu cầu (Windows 7). (Làm thế nào) tôi có thể thay đổi thời gian cho đến khi trình bảo vệ màn hình khởi động từ dòng lệnh? Nó thậm chí có thể?

Thông thường tôi hài lòng với cài đặt 5 phút, nhưng đôi khi tôi muốn làm cho nó dài hơn. Tôi muốn hai độ dài ràng buộc với các phím nóng (tôi biết cách làm điều đó).

Tôi đoán rằng tôi có thể ghi lại hai macro và sử dụng các macro đó, nhưng tôi chỉ tự hỏi liệu có bất kỳ tùy chọn dòng lệnh nào (bao gồm các bản cập nhật đăng ký) mà tôi có thể sử dụng để báo cho Windows để khởi động trình bảo vệ màn hình sau X phút không hoạt động.

(xin lưu ý, tôi không muốn khởi động trình bảo vệ màn hình ngay lập tức; tôi muốn thay đổi thời gian Windows sẽ đợi trước khi bắt đầu)

Cảm ơn trước.


[Trả lời] Cuối cùng tôi đã sử dụng một biến thể cho câu trả lời từ @Gjordis - nhưng tất cả tín dụng đều thuộc về anh ấy.

Tôi không thấy lý do tại sao chúng tôi cần 3 thao tác: thêm, xóa rồi đổi tên và giảm xuống còn hai.

Vì tôi muốn liên kết với một phím nóng, tôi cần phải thực hiện hai lần comamnd trong một. Thông thường, người ta có thể tách các lệnh bằng dấu chấm phẩy và phát hành chúng trên một dòng (ví dụ dir c:;dir d:). Điều đó đã gây ra lỗi với reglệnh, vì vậy cuối cùng tôi có hai tệp bó. Các contens là nhận dạng, chỉ thay đổi thời gian.

Về điều lạ - giá trị được ghi chính xác vào sổ đăng ký, nhưng Bảng điều khiển / Cá nhân hóa / Trình bảo vệ màn hình không giúp cập nhật GUI của nó. Tuy nhiên, tôi đã thử nghiệm và trình bảo vệ màn hình hoạt động như mong đợi.

@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

Nếu điều này giúp bạn, xin vui lòng nêu câu hỏi ;-)

Câu trả lời:


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

Giá trị 600 tính bằng giây, = 10 phút Thật thú vị, như được chỉ ra, điều này chỉ hoạt động lần đầu tiên. Ở lần thay đổi tiếp theo, bạn cần tạo một khóa mới như vậy:

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

Sau đó xóa cái cũ

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

Sau đó sao chép cái mới vào đúng tên

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

Hopy điều này hoạt động, và bạn không phá hủy máy tính của bạn, nhưng vì bạn không có giá trị đăng ký này, tôi không nghĩ rằng việc xóa nó có thể là khủng khiếp.

Tài liệu REG tại đây: http://www.microsoft.com/resource/documentation/windows/xp/all/proddocs/en-us/reg.mspx?mfr=true


Điều đó hoạt động :-) Chỉ lần đầu tiên :-( có lẽ vì tôi không có mục đăng ký thời gian đầu tiên, vì vậy có thể thêm, nhưng có thể cần phải sửa đổi sau đó? +1 để thử. Cảm ơn
Mawg nói phục hồi Monica

1
Đã chỉnh sửa để hy vọng làm việc vào những thời điểm khác
Gjordis

+1 Vâng, đó là trange. Tôi có thể thấy rằng nó đang cập nhật khóa đăng ký, nhưng khi tôi nhấp chuột phải vào màn hình nền (hoặc đi qua bảng điều khiển) và chọn "peronalize", nó vẫn hiển thị 5 mint trên GUI. Nếu tôi đặt 10 giây qua sổ đăng ký, trình bảo vệ màn hình sẽ không bắt đầu sau 10 giây (hoặc thậm chí vài phút). Nếu tôi đặt 1 phút trong GUI thì nó sẽ bắt đầu sau 1 phút (và nó cập nhật chính xác sổ đăng ký).
Mawg nói rằng phục hồi Monica

Có lẽ nó có giá trị hợp lệ
Gjordis

+1 Tôi đã sử dụng một biến thể cho câu trả lời của bạn và đã đăng nó trong phần bên trên. Cảm ơn sự giúp đỡ của bạn
Mawg nói rằng phục hồi Monica

1

Trên thực tế, phương pháp này (thông qua sổ đăng ký) không hoạt động cho đến khi khởi động lại . Cách duy nhất để làm điều đó mà không cần khởi động lại PC là sử dụng API:

https://www.pcreview.co.uk/threads/utility-to-temporantly-change-the-sc Greensaver.2321339/#post-7442568

nhưng API không thể được sử dụng từ một dòng lệnh, tức là tập lệnh VB. Đây là lý do:

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

Nó có thể được thực hiện bằng cách gọi tiện ích SetScrTimeout.exe (từ liên kết đầu tiên), nhưng thật không may, tiện ích nhỏ này không còn tồn tại trên internet nữa.


Cảm ơn vì điều đó. Có lẽ SetScrTimeout.exe có thể được tìm thấy trên đường quay lại máy ? Tôi không thể kiểm tra vì tường lửa của công ty, nhưng nó sẽ ở đó - mọi thứ khác đều có ;-)
Mawg nói rằng phục hồi Monica

1
Tôi thậm chí đã thử trên các máy chủ ftp, nhưng không có kết quả. Tôi đã tìm thấy mã nguồn VB cho mục đích đó ( freevbcode.com/ShowCode.asp?ID=504 ), nhưng tôi không thể tạo và chia sẻ exe.
Alexanderar

Có ai biết phiên bản nào của VB (tôi đoán là VN 6) không?
Mawg nói rằng phục hồi Monica

1
Vâng, đó là VB6. Xin lỗi vì trả lời chậm.
Alexanderar
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.