※マウスカーソル下のウインドウでの動作を目的にやってたんだけど非アクティブじゃない時に動作させない、みたいなのと半々みたいになって完全じゃない…
一応動くあたりまで取り付けたので備忘録
CoordMode,Mouse,Screen
MouseGetPos,x,y,hwnd,ctrl,3
SendMessage,0x84,0,%lp%,,ahk_id %ctrl%
If ErrorLevel=4294967295
MouseGetPos,,,,ctrl,2
WinGetClass, class, ahk_id %hwnd%
if (class == "MozillaWindowClass"){
if(WinExist("ahk_id" . hwnd)){
~~~
}
}
=============
5行目あたりまではコピペ
ウインドウハンドルを取得する(らしい
6行目
WinGetClass, class, ahk_id %hwnd%
でウインドウクラスを取得
MozillaWindowClassがFirefoxのウインドウクラスだったので次のifで比較
WinExistでアクティブじゃなくても5行目までで取得したウインドウハンドルと一緒だったらという処理
もっとスマートな処理にできたら良いな
あとコピーとかできなくてウインドウ操作くらいしかできないのが何故なにかを理解できていない…
=============
everythingのを下記に変更
CoordMode,Mouse,Screen
MouseGetPos,x,y,hwnd,ctrl,3
SendMessage,0x84,0,%lp%,,ahk_id %ctrl%
If ErrorLevel=4294967295
MouseGetPos,,,,ctrl,2
WinGetClass, class, ahk_id %hwnd%
if (class == "MozillaWindowClass"){
if(WinExist("ahk_id" . hwnd)){
my := Clipboard
Send, ^c
if(my != Clipboard){
sss := "C:\Program Files\Everything\Everything.exe -search """ . Clipboard . """"
run, %sss%
}
Clipboard := my
}
}