AutoHotKeyでWindowsSnippingToolを自動実行することができません



Cannot Get Windows Snipping Tool Auto Run With Autohotkey



解決:

万が一、64ビットバージョンのWindows 7を実行していますか?

Windows 7(および私が信じているVista)は、WoW64ファイルシステムリダイレクトと呼ばれるものを実装しています。この場合は、AHKにSysnativeディレクトリを指定することをお勧めします。



PrintScreen::Run, 'C:WindowsSysnativeSnippingTool.exe'

使用する

PrintScreen :: Run C: Windows explorer.exe C: Windows system32 SnippingTool.exe



これにより、WoW64ファイルシステムリダイレクトの境界内で実行可能ファイルが正しく呼び出されます。


自動ホットキーがWow64プロセスとして実行されているかどうかに基づいて、Sysnativeまたはwindows32からSnippingTool.exeを呼び出す必要があるかどうかを判断できます。

PrintScreen :: LaunchSnippingTool(); 64ビットWindowsで32ビットプログラム(autohotkey)を実行しているかどうかを判別しますIsWow64Process(){hProcess:= DllCall( 'kernel32  GetCurrentProcess')ret:= DllCall( 'kernel32  IsWow64Process'、 'UInt'、hProcess、 'UInt * '、bIsWOW64)return ret&bIsWOW64}; 64ビットまたは32ビットに基づく正しいパスを使用してSnippingToolを起動しますWindowsLaunchSnippingTool(){if(IsWow64Process()){Run、%windir% Sysnative  SnippingTool.exe} else {Run、%windir% system32  SnippingTool.exe }}

IsWow64Processの詳細とソースはこちら:http://www.autohotkey.com/community/viewtopic.php?t = 22277