事象
AHKで以下の設定をした、スクリプトを起動。
*LButton::SendEvent,{Blind}{LButton Down} *LButton Up::SendEvent,{Blind}{LButton Up}
Win+vでクリップボード履歴を表示し、一番新しいものをクリックすると、「v」と表示され、通常通り履歴がペーストされない。AHKのログは下記のようになっていた。
5B 15B d 1.72 LWin 56 02F d 0.44 v 56 02F u 0.06 v 5B 15B u 0.22 LWin 01 000 h d 0.94 LButton <--ここで、履歴をクリック 01 000 i d 0.00 LButton 01 000 h u 0.13 LButton 01 000 i u 0.00 LButton A2 01D a d 0.02 LControl <--ここから履歴がペーストされる予定 A2 01D i u 0.02 LControl <--何故かUpされる。 56 02F a d 0.01 v 56 02F a u 0.00 v A2 01D a u 0.03 LControl
対策
下記のように、SendInputを使うと正常に動くようになった。
*LButton::SendInput,{Blind}{LButton Down} *LButton Up::SendInput,{Blind}{LButton Up}
5B 15B d 2.98 LWin 56 02F d 0.16 v 56 02F u 0.08 v 5B 15B u 0.03 LWin 01 000 h d 1.03 LButton <--hookされたのだけになった。 01 000 h u 0.13 LButton A2 01D a d 0.00 LControl <--LControl Upも消えた。 56 02F a d 0.05 v 56 02F a u 0.00 v A2 01D a u 0.03 LControl
コメント