メモ帳が起動されていて文字列が表示されているとします。
その文字列上にカーソルがあるときにキーボードで「Shift」+「→」キーを押すとカーソルの右にある文字が一文字選択されます。
なのに、メモ帳のウインドウをアクティブにして、
Private Sub Timer1_Timer()
Call keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYDOWN, 0)
Call keybd_event(VK_RIGHT, 0, KEYEVENTF_KEYDOWN, 0)
Call keybd_event(VK_RIGHT, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0)
End Sub
を実行するとなぜかカーソルが一文字右に動くだけで文字が選択されません。
SendKeys "+{RIGHT}", True
としてやるとうまくいくのですが、SendKeysを使うとときどき入力モードが勝手にカタカナや英字に変わったりするので出来ればkeybd_eventのほうを使ったやり方を考えています。
どなたか原因の分かる方教えていただけないでしょうか?よろしくお願い致します。
ツイート | ![]() |