Sử dụng Bộ lập lịch tác vụ Windows để đặt Windows vào chế độ ngủ mà không cần tập tin hàng loạt


Câu trả lời:


4

Thiết lập thời gian của bạn trong cửa sổ Kích hoạt tác vụ theo lịch trình như bình thường. Trên tab Chung, có thể dễ nhất để thực hiện tác vụ như SYSTEMvà chạy xem người dùng có đăng nhập hay không. Đặc quyền cao nhất là không cần thiết.

Kể từ khi rundll32 không tán thành và phản bội nói chung , chúng tôi sẽ sử dụng PowerShell để gọi chức năng ngủ một cách chính xác. Đặt Chương trình / kịch bản lĩnh vực để powershell.exe. Đặt cái này vào Thêm đối số cánh đồng:

-command add-type -assemblyname System.Windows.Forms; [System.Windows.Forms.Application]::SetSuspendState([System.Windows.Forms.PowerState]::Suspend, $false, $false)

Các add-type lệnh nhập cụm biểu mẫu, có chứa một quản lý SetSuspendState phương pháp . Lệnh thứ hai gọi phương thức đó, đưa máy tính vào chế độ ngủ nhưng cho phép các sự kiện đánh thức thoát khỏi giấc ngủ. (Nếu bạn không muốn các sự kiện đánh thức tiếp tục hoạt động, hãy thay đổi lần cuối $false đến $true.)


Điều này hoạt động tốt cho giấc ngủ, nhưng làm thế nào tôi có thể đánh thức nó từ giấc ngủ này? Ngoài ra với lịch trình nhiệm vụ.
Alex Bartiş

@ AlexBartiş Mặc dù tôi chưa thử nghiệm nó, hướng dẫn HTG này trông đầy hứa hẹn.
Ben N

cảm ơn, tôi đã thử nó trước khi hỏi bạn và nó không hoạt động với tôi. Tôi đang sử dụng W10 Home Edition mới nhất và nó không hoạt động nếu tôi tự đặt nó vào chế độ ngủ hoặc nếu tôi sử dụng nhiệm vụ của bạn để đặt nó vào chế độ ngủ.
Alex Bartiş

@ AlexBartiş Hmm, trong trường hợp đó, tôi sẽ đề nghị đặt câu hỏi mới với thông tin đó, như bạn đã làm. Hy vọng ai đó biết câu trả lời.
Ben N

Nếu bất cứ ai vẫn quan tâm, đây là một cách khác để lên lịch. groovypost.com/howto/schedule-wake-s ngủ-
anonymous coward

0
  1. Tạo một nhiệm vụ mới.
  2. Quyết định cách bạn muốn đặt tab Chung (Tôi khuyên bạn nên chọn "Chạy xem người dùng có đăng nhập hay không").
  3. Tôi đã chọn "Chạy với đặc quyền cao nhất", nhưng điều này phụ thuộc vào yêu cầu của bạn.
  4. Tạo Trình kích hoạt mô tả khi bạn muốn tác vụ chạy.
  5. Tạo một hành động mới - đây là bước quan trọng: Hành động phải là "Bắt đầu một chương trình".

Giá trị "Chương trình / tập lệnh" phải là: rundll32.exe Giá trị "Thêm đối số (tùy chọn):" phải là: powrprof.dll, SetSuspendState ngủ Giá trị "Bắt đầu trong (tùy chọn):" nên để trống.

NÓ QUAN TRỌNG ĐỂ QUAN SÁT TRƯỜNG HỢP CỦA đối số "SetSuspendState"! "setsuspendstate" sẽ không hoạt động!

  1. Lưu nhiệm vụ của bạn và chạy thử nó.

2
Nguy hiểm! rundll32 không dùng nữa . Cũng thế, sleep không phải là một đối số hợp lệ để SetSuspendState, chỉ mất ba Booleans. Do đó, việc truyền chuỗi chỉ hoạt động tình cờ và có thể phá hủy ngăn xếp của hàm.
Ben N
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.