AutoHotKey キーに効果音つきでスクリーンショット撮影するスクリプト例

AutoHotkey v2 を使って、1個のキーを押すだけで、Windows Game Bar複数キー同時押しのショートカットキーによるスクリーンショットの保存機能を呼び出すスクリプト例とその実行結果を紹介します。
また、撮影時に効果音を出して、連打を防止するために 0.5 秒待機する処理についても紹介します。

ahk スクリプトを管理者権限で実行することで、管理者権限で実行されているウィンドウ(例:ブループロトコル:スターレゾナンス)のスクリーンショット保存できました。

※ AutoHotKey のバージョンは Version 2.0.18 です。
※プログラムは自己責任でご利用ください。

AutoHotKey v2 のインストール

AutoHotkey v2インストールについては以下の記事を参照してください。

Windows GameBar はショートカットキー設定が複雑

Windows Game Bar は Win + G キーで表示して、キャプチャやパフォーマンスの計測などが行えます。

Game Bar は Windows に組み込まれているので、PC ゲームをプレイしながら動画やスクリーンショットをキャプチャできます。

Game Bar | Microsoft Windows

しかし、ショートカットキーを割り当てる際には、単一のキーは設定できず、 Win + Alt + PrintScreen キーのように、複数のキーを同時に押す必要があります。

今回は、Game Bar便利なスクリーンショット機能を、1個のキーを押すだけで実行できる AutoHotKey v2 のスクリプト例を紹介します。

Pause Break キーが反応することを確認

以下は、 AutoHotkey v2 のスクリプトです。

Pause Break キーが押された際に、メッセージボックスを表示します。

Pause::MsgBox "Pause キーが押されました"

AutoHotkey v2 のスクリプトは、エクスプローラでダブルクリックすると実行されます。
終了させたい場合は、後述する通り、タスクトレイの常駐しているアイコンのメニューで終了させます。
※後述するように、対象のウィンドウが管理者権限で実行されている場合は、 ahk スクリプトも管理者権限で実行したほうが安定して動作します。

スクショできないゲーム画面をキー1回押して保存するAHKスクリプト例9

エクスプローラのウィンドウを選択して、 Pause Break キーを押すと、先ほどの ahk スクリプトが Pause Break キーを感知して、ダイアログが表示されました。

スクショできないゲーム画面をキー1回押して保存するAHKスクリプト例1

しかし、ブループロトコル:スターレゾナンスのゲームアプリのウィンドウなどでは、反応しません

ブループロトコル:スターレゾナンスは、起動時に UAC(ユーザアカウント制御)ダイアログで許可を求めます。
このような管理者権限で起動しているアプリで、 AutoHotkey v2 のキー入力変換のスクリプトが正常に動作しない場合は、 AutoHotkey v2 のスクリプトの実行も管理者権限で行うと良いかもしれません。

Pause キーで Win + Alt + Print キーを実行するスクリプト例

以下は、 Pause Break キーが押されると以下の処理を実行します。

  • Win + Alt + PrintScreen キーの入力をアクティブウィンドウに送信します。
    (Game Bar のスクリーンショットの保存を行うショートカットキーを送信します)
  • 撮影の効果音を鳴らします。
  • 連打を防止するため 500 ミリ秒 (0.5 秒)待機します。
; Pause Break キーが押されたら
Pause::{
	; Win + Alt + PrintScreen を送信
	Send "#!{PrintScreen}"

	; ビープ音(750Hz、150ms)
	SoundBeep 750, 150

	; 0.5 秒の連打防止
	Sleep 500
}

Sends simulated keystrokes and mouse clicks to the active window.

シミュレートされたキーストロークとマウスのクリックをアクティブなウィンドウに送信します。

Send – Syntax & Usage | AutoHotkey v2 と Google 翻訳

Emits a tone from the PC speaker.

PCのスピーカーから音を出します。

SoundBeep – Syntax & Usage | AutoHotkey v2 と Google 翻訳

Waits the specified amount of time before continuing.

続行する前に、指定された時間待機します。

Sleep – Syntax & Usage | AutoHotkey v2 と Google 翻訳

管理者として ahk スクリプトを実行

先ほど確認したように、管理者権限で実行しているアプリに対して AutoHotkey v2 スクリプトでキー入力変換を実行させるには、スクリプトも管理者権限で実行します。

ahk ファイルを右クリックして表示されるメニュー「管理者として実行」を選択することで、管理者権限でスクリプトを実行できます。

スクショできないゲーム画面をキー1回押して保存するAHKスクリプト例2

すでに同じ ahk スクリプトファイルが管理者権限なしで実行されている場合は、以下のダイアログが表示されるので、「はい」を選択して、管理者権限のついたインスタンスと置き換えます。

スクショできないゲーム画面をキー1回押して保存するAHKスクリプト例3

BreakKeyToWinAltPrintKey.ahk

An older instance of this script is already running. Replace it with this instance?

Note: To avoid this message, see #SingleInstance in the help file.

はい(Y) いいえ(N)

このスクリプトの古いインスタンスはすでに実行されています。 このインスタンスに置き換えますか?
注: このメッセージを回避するには、ヘルプ ファイルの #SingleInstance を参照してください。

テスト

Pause Break キーを押すと、先ほどの ahk による変換で、 Win + Alt + PrintScreen キーの入力が選択しているウィンドウ(アクティブウィンドウ)に送信され、Game Bar によるスクリーンショットファイルの保存が行われました。
下図の右側の青いメッセージは、スクリーンショットが保存された際の通知です。

効果音も以下の動画の7秒あたりで再生されています。

以下の動画では、Pause キーを押した際に、 ahk スクリプトで Win + Alt + PrintScreen キーが送信され、効果音が鳴り、そのあとに Game Barスクリーンショットを撮影・保存した通知が表示されたことが確認できます。

Win + G キーGame Bar の画面を表示して、ギャラリーを表示すると、撮影したスクリーンショットのファイルが保存されていることが確認できました。

スクショできないゲーム画面をキー1回押して保存するAHKスクリプト例6

初回だけ起きた現象

特に問題はないと思いますが、初回に起きた現象を備忘録として記述します。

最初に Pause Break キーを押すと、 Wi + Alt + PrintScreen キーによる Game Barスクリーンショットファイルの保存は行われましたが、その直後に Game Bar画面が表示されました。

Win + Shift + S キーで Snipping Tool を用いてスクリーンショットを撮影したところ、この Game Bar の画面は消えて、2回目以降は Pause Break キーを押してスクリーンショットを保存しても Game Bar画面は表示されませんでした。

スクショできないゲーム画面をキー1回押して保存するAHKスクリプト例4

AutoHotKey スクリプトの終了

実行した AutoHotkey v2 の ahk スクリプトは、スクリプトごとタスクトレイに常駐します。

スクリプトの実行を中止する場合は、タスクトレイを開いて、AutoHotkey v2 のアイコンにマウスオーバーして、スクリプト名を確認します。

スクショできないゲーム画面をキー1回押して保存するAHKスクリプト例7

停止するスクリプトに対応した AutoHotkey v2 のアイコンを右クリックして表示されるメニュー「Exit」を選択すると、そのスクリプトの実行を中止します。

スクショできないゲーム画面をキー1回押して保存するAHKスクリプト例8

まとめ

  • Windows の Win + G キーで表示される Game Barスクリーンショットの保存機能を、AutoHotkey v2 スクリプトにより異なるキー入力で実行しました。
  • AutoHotkey v2Send を用いて異なるキー入力を送信し、 SoundBeep効果音を再生し、Sleep で連打防止のため 0.5 秒待機しました。
  • 管理者権限で実行されているアプリに対して、AutoHotkey v2 スクリプト正常に動作しない場合は、管理者権限でスクリプトを実行すると良いかもしれません。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました