こんにちは.
autoclipxのように, 選択したテキストを自動的にクリップボードにコピーしたいです. ただ, ctrl+cをシミュレーションして実装することは避けたいです.
そこで, autohotkeyを使ってこちらに記載されている下記コードのイベント識別子を変えて実装しようとしているのですが, サイト内で紹介されているイベント一覧のページから"文字列が選択された時に送られるイベント"を見つけることがでません.
何というイベント識別子を設定すれば良いのでしょうか?
AutoHotKey
1#Persistent 2 3myFunc := RegisterCallback("WinActivateHandler") 4 5myHook := DllCall("SetWinEventHook" 6 , "UInt", 0x00000003 ; eventMin : EVENT_SYSTEM_FOREGROUND 7 , "UInt", 0x00000003 ; eventMax : EVENT_SYSTEM_FOREGROUND 8 , "UInt", 0 ; hModule : self 9 , "UInt", myFunc ; hWinEventProc : 10 , "UInt", 0 ; idProcess : All process 11 , "UInt", 0 ; idThread : All threads 12 , "UInt", 0x0003 ; dwFlags : WINEVENT_SKIPOWNTHREAD | WINEVENT_SKIPOWNPROCESS 13 , "UInt") 14 15WinActivateHandler(hWinEventHook, event, hwnd, idObject, idChild, thread, time) { 16 WinGetTitle, title, ahk_id %hwnd% 17 WinGetClass, class, ahk_id %hwnd% 18 Tooltip, 「%title% ahk_class %class%」がアクティブになった 19}
環境 OS : Windows10, AutoHotKey : Version 1.1.33.02
よろしくお願いいたします.
ーーーー追記①(2021/6/30)ーーーー
現在のコードの状態です.
AHK
1#Persistent 2 3#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. 4; #Warn ; Enable warnings to assist with detecting common errors. 5SendMode Input ; Recommended for new scripts due to its superior speed and reliability. 6SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. 7 8myFunc := RegisterCallback("textSelectedHandler") 9 10myHook := DllCall("SetWinEventHook" 11 , "UInt", 0x8014 ; eventMin : EVENT_SYSTEM_FOREGROUND 12 , "UInt", 0x8014 ; eventMax : EVENT_SYSTEM_FOREGROUND 13 , "UInt", 0 ; hModule : self 14 , "UInt", myFunc ; hWinEventProc : 15 , "UInt", 0 ; idProcess : All process 16 , "UInt", 0 ; idThread : All threads 17 , "UInt", 0x0003 ; dwFlags : WINEVENT_SKIPOWNTHREAD | WINEVENT_SKIPOWNPROCESS 18 , "UInt") 19 20textSelectedHandler() { ; 引数を全消ししても動いた 21 WinActive("A") ; sets last found window 22 ControlGetFocus, ctrl 23 if (RegExMatch(ctrl, "A)Edit\d+")) { ; attempt copying without clipboard 24 ControlGet, text, Selected,, %ctrl% 25 clipboard := text 26 } 27}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/30 14:30