情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

ブログ内検索

スポンサーサイト このエントリーを含むはてなブックマーク

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 | 編集

AutoHotkeyで修飾キー(Ctrl,Shift,Alt,Win)の状態(^!+#)を取得する関数を作る方法 このエントリーを含むはてなブックマーク

modifier(修飾キー)を取得する

押し下げ状態は、GetKeyStateで取得できます。今回は、その結果を、Sendの引数として利用できる形式(^、+、!、#の結合)で取得する関数get_modifiers()を作成します

get_modifiers()

定義は次の通り。

get_modifiers() {
	modifiers := ""
	if GetKeyState("Ctrl", "P")
		modifiers = %modifiers%^
	if GetKeyState("Shift", "P")
		modifiers = %modifiers%+
	if GetKeyState("Alt", "P")
		modifiers = %modifiers%!
	if GetKeyState("Win", "P")
		modifiers = %modifiers%`#
	return %modifiers%
}

現在キーボードのWinキーをF17キーに変更してしまったのでWinキーについては試せていませんが、他の修飾キーに関しては問題なく動作しています。

modifiers := get_modifiers()
Send, %modifiers%{%key_name%}

のようにして、利用できると思います。特に「AutoHotkeyで変数名を組み立てて変数の中身を取得するちょっと不思議な方法」などと組み合わせるといろいろ出来ると思います。お試しあれ。

Windowsダンプの極意 エラーが発生したら、まずダンプ解析!
Advanced Windows 第5版 上 (マイクロソフト公式解説書)
インサイド Microsoft Windows 第4版〈上〉 (マイクロソフト公式解説書)
APIで学ぶWindows徹底理解

スポンサーサイト
AutoHotkey | コメント:1 | トラックバック:0 | 編集

AutoHotkeyで関数の返値を変数に代入する書き方 このエントリーを含むはてなブックマーク

そのうち忘れそうなのでメモ。

variable_name := function_name()

間違えて

variable_name = function_name()

としてしまうと、変数の中に「function_name()」という文字列が入ってしまう。

AutoHotkey | コメント:0 | トラックバック:0 | 編集
 | HOME | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。