Як вручну запустити "вимкнути дисплей"? [дублікат]


13

Як вручну запустити функцію "вимкнути показ" у Windows 7? Зазвичай це відбувається автоматично, коли користувач протягом певного часу не рухає мишкою або не натискає клавіш (розділ управління живленням панелі управління).

Програмне забезпечення сторонніх розробників або повноцінний додаток - це приємно, але я вважаю за краще підхід, створений для Windows 7. Як командний рядок чи щось таке.


Часи нижче хвилини для варіанта сну монітора? Це допоможе при застосуванні цього методу: answer.microsoft.com/en-us/windows/forum/windows_7-desktop/…
— Andrestand

Відповіді:


9

Цей сценарій, написаний у Powershell, може зробити цю роботу для вас.

# Turn display off by calling WindowsAPI.

# SendMessage(HWND_BROADCAST,WM_SYSCOMMAND, SC_MONITORPOWER, POWER_OFF)
# HWND_BROADCAST  0xffff
# WM_SYSCOMMAND   0x0112
# SC_MONITORPOWER 0xf170
# POWER_OFF       0x0002

Add-Type -TypeDefinition '
using System;
using System.Runtime.InteropServices;

namespace Utilities {
   public static class Display
   {
      [DllImport("user32.dll", CharSet = CharSet.Auto)]
      private static extern IntPtr SendMessage(
         IntPtr hWnd,
         UInt32 Msg,
         IntPtr wParam,
         IntPtr lParam
      );

      public static void PowerOff ()
      {
         SendMessage(
            (IntPtr)0xffff, // HWND_BROADCAST
            0x0112,         // WM_SYSCOMMAND
            (IntPtr)0xf170, // SC_MONITORPOWER
            (IntPtr)0x0002  // POWER_OFF
         );
      }
   }
}
'

[Utilities.Display]::PowerOff()

Примітка . Цей підказка потребує PowerShell 2.0 або вище.


@ user1306322 Правильно. Заставка не вимикає дисплей.
— ланч

@ user1306322 Відповідь оновлено.
— stderr

Через відсутність кращої відповіді я приймаю цю. Слід зазначити, що це корисно лише тоді, коли ви не взаємодієте з комп’ютером. Тобто, для того, щоб екран не вимкнувся, вам потрібно припинити торкатися будь-яких кнопок чи миші. Налаштування таймера на секунду-дві перед виконанням цієї команди може бути дуже корисним.
— user1306322

Встановити це у .batфайлі та подвійне клацання не працює. Або API змінився, або я не знаю, як це виконати. Який метод "запуску" очікується для цього сценарію?
— Хаві Монтеро

7

Не рідне рішення - потрібна безкоштовна зовнішня програма Nircmd . Але він досить корисний і не потребує нічого для його використання.

Щоб вимкнути монітор:

nircmd.exe monitor off

Щоб увімкнути монітор:

nircmd.exe monitor on

4

Я використовую утиліту Monitor Off Utility кілька років. Я призначив комбінацію ярликів і натисніть її, якщо мені подобається відключити показ.

введіть тут опис зображення

введіть тут опис зображення


Не впевнений, чому відповідь було оскаржено. Нейтралізуючи ефект, оскільки утиліта робить те, що хоче ОП,
— Еджаз

Чи насправді цей тип програмного забезпечення не робить щось, яке може зробити якась команда? Немає команди для редагування таймера вимкнення?
— Andrestand

@Andrestand прийнята відповідь показує, який API використовується інструментом внутрішньо.
— magicandre1981

-1

Спробуйте

%SystemRoot%\System32\RUNDLL32 %SystemRoot%\System32\USER32.DLL,LockWorkStation

Можливо, вам знадобиться зайти в Панель управління і налаштувати заставку таким чином, щоб вона не була "жодна".


Це робить лише те, що LockWorkStationпропонує ім'я команди - блокує сеанс поточного користувача. Такого ж ефекту можна досягти, натиснувши [Win] + [L].
— user1306322
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.