
Microsoft フォトでは、写真にズームインしている場合は写真間を移動できません。デフォルトのズーム レベルの場合のみ移動できます。これは少しわかりにくいので、この問題を解決するために Authotkey 指示を作成することにしました。
スクロール ホイールは常に Microsoft フォト内のアイテム間を移動するため (理由は何であれ)、ナビゲーション (矢印) キーが押されたときに常にマウスホイールのスクロールがトリガーされるようにしました。理論上は、これはうまく機能しますが、実際には機能しません。
理由を知っている人はいますか? Autohotkey の方向が間違っているのでしょうか、それとも何か他の原因があるのでしょうか?
#IfWinActive, ahk_exe Microsoft.Photos.exe
Left::Send {WheelUp}
Right::Send {WheelDown}
#If
答え1
これを試して:
#If (WinGetActiveProcessName() = "Microsoft.Photos.exe")
Left::Send {WheelUp}
Right::Send {WheelDown}
#If
WinGetActiveProcessName(){
; https://www.autohotkey.com/boards/viewtopic.php?t=13818&p=70912#p73137
WinGet name, ProcessName, A
if (name = "ApplicationFrameHost.exe")
{
ControlGet hwnd, Hwnd,, Windows.UI.Core.CoreWindow1, A
if hwnd
{
WinGet name, ProcessName, ahk_id %hwnd%
}
}
return name
}
答え2
写真は奇妙なアプリで、明らかではない別の実行可能ファイルを呼び出します。
これはテスト済みで動作します:
#IfWinActive, ahk_exe ApplicationFrameHost.exe
Left::Send {WheelUp}
Right::Send {WheelDown}
アプリケーション フレーム ホストは、特定のアプリケーションをフレーム内に表示するように設計された Windows サービスです。この汎用実行可能ファイルの動作を変更すると、他の Windows アプリケーションに影響する可能性があることに注意してください。
もう 1 つの可能性は、実行可能ファイルではなく、文字列「Photos」を含むタイトルで移動することです。
SetTitleMatchMode, 2
#IfWinActive, Photos
Left::Send {WheelUp}
Right::Send {WheelDown}