APIのkeybd_eventで文字列をうまく選択できない


阿蘇  2007-05-19 10:21:26  No: 98781

メモ帳が起動されていて文字列が表示されているとします。
その文字列上にカーソルがあるときにキーボードで「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のほうを使ったやり方を考えています。
どなたか原因の分かる方教えていただけないでしょうか?よろしくお願い致します。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加