【AutoHotkey】キー(Ctrl+Insert)にスリープ機能を割り当てるコード

2021年12月27日AutoHotkey

AutoHotkeyのアイコン

この記事では、CtrlInsertにWindows11のスリープ機能を割り当てる方法について書きます。

AutoHotkey で、好きなキーにスリープのショートカットを割り当てます。

【AutoHotkey】キー(Ctrl+Insert)にスリープ機能を割り当てるコード

キーに指定の機能を割り当てるフリーソフトAutoHotkeyを利用すると、CtrlInsertにスリープを割り当てれます。

同時押ししたら、瞬時にPCをスリープモードにします。いちいちスタート画面→電源ボタン→スリープをクリックしなくて済みます。

スリープにするキーは、好きなように設定できます。単一キー、複数同時押しどちらも自由にできます。

スリープのショートカットファイルを作成→AHKでスクリプト作成の2ステップです。

2021年7月に、高級キーボードで有名な「REALFORCE TKL SA / R2TLSA-JP3-BK」を購入したんですが、以前使っていたLogicoolのキーボードにはあったスリープボタンがありませんでした。

以前まで使っていたキーボードにはスリープボタンがあった

参考:【高級キーボード】REALFORCE TKL SA/R2TLSA-JP3-BKを買ってみた話 | ナポリタン寿司のPC日記

キーの方に慣れてたので、ふとした時にめちゃくちゃ不便です。マウスでスタート画面を開いて、電源メニュー→スリープを押すのがストレスです。

AHKを使うことで、以前使ってたLogicoolのキーボードのように、スリープ機能を割り当てれます。

前提

本記事は、既にAutoHotkeyをインストールしている前提です。

キーに別の機能を割り当てるソフトです。

詳しくは、下記の記事を参考にしてみてください。

キーにスリープを割り当てる

パソコンの機種によって、作業量が変わってきます。

ここでは、一番作業量が多いパターンでやってみます。10分もかからないかなと思います。

流れとしては、以下のようになっています。

  1. スリープのショートカットを用意する
  2. 場合によっては、休止モードを無効にする
  3. AHKにコードを書き込む

スリープのショートカットを用意する

スリープのショートカットを作成します。

デスクトップの何もないところを右クリック→新規作成→ショートカットをクリックします。

新規作成 ショートカット

「項目の場所を入力してください」の欄に、以下のコードを入力します。間違えないようにコピペしましょう。

rundll32.exe powrprof.dll,SetSuspendState 0,1,0

貼り付けできたら、「次へ」をクリックします。

ショートカットの作成 -どの項目のショートカットを作成しますか?

ショートカットの名前を決めます。分かりやすいように、「スリープ」がおすすめです。名前を決めたら「完了」をクリックします。

ショートカットの名前を付けてください

スリープのショートカットが作成されます。

デスクトップにあると邪魔なので、ドキュメントなどの別のフォルダーに移動しておくと便利です。

スリープのショートカット

実際に、ダブルクリックしてスリープ状態になるかどうか試してみてください。

いつものスリープと違う挙動になった場合は、休止モードになっている可能性があります。

休止モードの特徴は、画面が真っ暗になるだけでなく、一時的にパソコンの電源が切れます。再度、電源をつけると前回開いてたアプリが起動した状態でパソコンがつきます。

休止モードは、形としてはシャットダウンと一緒です。長時間PCから離れる時には便利ですが、その分開始と終了時に、かなりの電力を消費します。

参考:パソコンのスリープと休止状態の違いは?消費電力や使い分けは? | アフィカツ|共働きイクメンパパのブログで脱サラ物語

休止モードを無効にする

スリープのショートカットアイコンを実行した時に、休止モードになった場合は、休止モードを無効にします。

通常通りスリープ状態になった場合は、こちらのステップに飛んでください。

Windowsボタンを右クリック→Windows PowerShell(管理者)をクリックします。

スタートボタンの右クリックメニュー

起動したら、以下のコードを貼り付けてEnterを押します。

powercfg -h off
Windows PowerShell powercfg -h off
休止モードをオンにしたい場合

休止モードを有効にしたい場合は以下の文章を貼り付けます。

powercfg -h on

Enterを押すと、すぐに2行目の文章が表示されます。

表示されれば、無効化成功です。「×」でウィンドウを閉じます。

休止モードの無効化

再度、作成したスリープアイコンを起動してみます。ちゃんとスリープになればOKです。

AHKにコードを書き込む

以下の形に沿って、コードを書き込みます。

割り当てたいキー::Run, "スリープのパス"

僕は、CtrlInsertに割り当てています。

ショートカットアイコンの場所は、デスクトップのショートカットフォルダーに入れているので、以下のコードになります。

;Ctrl+Insertにスリープ割り当て
^Insert::Run, "D:\デスクトップ\ショートカット\スリープ.lnk"
^Insert::Run, "D:\デスクトップ\ショートカット\スリープ.lnk"

Insertだけでいいという場合は、以下のコードになります。ファイルの場所は各自で書き直してください。

;Insertにスリープ割り当て
Insert::Run, "D:\デスクトップ\ショートカット\スリープ.lnk"

ショートカットアイコンのパスのコピーは、作成したスリープアイコンをShiftを押しながら右クリック→パスのコピーからできます。

Shiftを押しながら右クリック パスのコピー

そのままAHKに貼り付けましょう。

書き込めたら、保存してスクリプトをリロードします。Ctrl+Insertを押したら、スリープします。

Windows起動時に自動起動

エクスプローラーのアドレスに以下のコードを貼り付けます。

shell:startup

スタートアップフォルダーが開くので、Altを押しながらahkファイルをドラッグ&ドロップします。ショートカットリンクが作成されます。

これでWindows起動時に一緒に自動起動します。

感想

以上、CtrlInsertにWindowsのスリープ機能を割り当てる方法でした。

余談ですが、高級キーボードにしてから、めちゃくちゃキー入力が楽しいです。単に入力するだけでなく、どうやったらより効率的に入力できるか…とかを考えるようになって、今回の方法に辿り着きました。

REALFORCEのキーボードは、シンプルで余計なキーがそもそもついていません。しかし、Insertだけは邪魔だったので、排除できてよかったです。

最初はInsert単体に設定してたんですが、押し間違えでうっかりスリープになっちゃう…ってことが起こったので、Ctrlとの同時押しにしています。

Posted by ナポリタン寿司