web-dev-qa-db-ja.com

ディスプレイをオンデマンドでオフにするにはどうすればよいですか?

現在、win 10 PCは、30分間何も操作しないとディスプレイをオフにするように設定されています。同じ機能をオンデマンドで実行できるかどうか疑問に思っています。私はよく寝る前の夜にPCを使用していて、 ワイヤレスキーボード からディスプレイをオフにできるようにしたいと思っています。このキーボードにはスリープボタンがあることはわかっていますが、ダウンロードや他のプロセスがまだ実行中のため、コンピューターをスリープ状態にしたくない場合があります。とにかく、いくつかの.batファイル、または立ち上がってモニターのボタンを押すことなく画面をオフにする他の方法があるかどうか疑問に思っています。スリープと同じように、キーボードのボタンにも接続できたら最高です。

ありがとう!

5
intA

このWindows 7の答えこのスクリプトページ にリンクし、 このMSDNライブラリページ を確認して、使用したコードが正しいことを確認します。画面をオフにする以下のPowerShellスクリプト。私は自分のWindows 10ラップトップでそれを実行し、それはうまくいきました。スクリプトの実行後にマウスを動かすと、通常、画面が省電力機能からオフになったときのように画面が起動します。

画面がオフになるまでの2秒の遅延は、Windowsが画面をオンに戻すための動きのチェックを開始する前に、マウス/キーボードを手放す時間があるためです。

このスクリプトを使用すると、サードパーティのツールや既存の設定を変更する必要がありません。

# 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
         );
      }
   }
}
'
start-sleep 2
[Utilities.Display]::PowerOff()
4
BeowulfNode42

同じ機能をオンデマンドで実行できるかどうか疑問に思っています。

nircmd を使用 nirsoft (モニターでサポートされている場合):

nircmd monitor off

monitor [action]

ディスプレイモニターの状態を変更します。 [action]パラメータには、次の値を含めることができます。

  • off:モニターの電源を切ります
  • on:モニターの電源を入れます
  • low:モニターを低電力状態に設定します。

このコマンドは、この機能をサポートするシステムでのみ機能します。このコマンドを使用するときにNirCmdがメモリに残るという問題がある場合は、async_offアクションの代わりにasync_onasync_lowおよびon/off/lowアクションを使用してみてください。

ソース NirCmdコマンドリファレンス-モニター


免責事項

私は nirsoft とは何の関係もありません。私は彼らのソフトウェアのエンドユーザーです。

2
DavidPostill

これがあります autohoykeyスクリプト 試すことができます

2
Superuser_do