情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

【AutoHotkey v2】Windows11のOneNoteで上下移動ができない問題と対策

AutoHotkey (31) AutoHotkey v2 (6) OneNote (9) Windows 11 (100)

Windows 11のOneNoteの利用中だけ、AutoHotkey(v2)で指定していたカーソルの上下移動(Up/Down)が動作しない問題が発生していました。

その問題の対策をメモして置きます。

普通にSendしても上下カーソル移動だけ反応しない

Windows 10版のOneNoteでは問題なかったのですが、Windows 11でOneNoteを利用する際、カーソルの上下移動(Up/Down)をSendしてもカーソルが動かない問題が発生しました。

左右は問題なく動作し、Ctrl+上やCtrl+下は動作するものの、単なる上下移動(「↑」「↓」)キーの送信が動作しませんでした。

ControlSendを利用する

今回、OneNoteに関しては、通常の「Send」系(SnedPlayなど含む)を利用する代わりに、「ControlSend」を利用することで、上下移動を実現できることが分かりました。

上下移動だけの問題なので、そこだけを置き換える形で、AutoHotkey v2の描き方で書くと、次のようになります。

#HotIf WinActive("OneNote ahk_class Framework::CFrame")

sc07B & p::ControlSend("{Up}", "OneNote::DocumentCanvas1", "ahk_exe ONENOTE.EXE")
sc07B & n::ControlSend("{Down}", "OneNote::DocumentCanvas1", "ahk_exe ONENOTE.EXE")

#HotIf

無変換(sc07B)+p/nキーで、上下キー操作になるように設定しています。OneNoteでだけControlSendを利用するように、「#HotIf」+「WinActive」の書き方(v1と異なる)を利用しています。

OneNoteだけ、を実現する「OneNote ahk_class Framework::CFrame」の記述は、AutoHotkeyに付属する「Window Spy for AHKv2」ツールを利用して、「Window Title, Class and Process」欄を確認しています。

また、ControlSendで利用する「Control」パラメータの内容「OneNote::DocumentCanvas1」は、こちらも「Window Spy for AHKv2」ツールを利用しつつ、こちらについては少し下に表示される「Focused Control」欄の「ClassNN」に表示されるものを利用した結果です。

参考ドキュメント

関連記事

コメント(0)

新しいコメントを投稿