始めて質問させていただきます。
表題そのままですが、他のアプリケーションより、選択文字列を取得する方法として
クリップボードに選択文字列を入れる方法があると思いますが、その場合、
1.SendKeysで "^c"を送る
2.keybd_event で Ctrl+C を送る
方法を試していますが、
1の場合、netscape等では、うまく貼り付けられません。
また、2の方法の場合、1度目はうまくいくのですが、2度目以降うまくいきません。
どこかのHPでキーコードに関わる処理の場合はキーコードを0にしなければというのを見た記憶があるのですが、
実際どのようにするのか解りません。
どなたか教えて下さい。よろしくお願いします。
keybd_event を送る直前に、
当該Windowをアクティブにし、
当該コントロールにFocusを持っていく
必要があるかと思います。
また、厳密には、
当該Windowをアクティブにする直前から、
keybd_event を送る直後まで、
ほかのメッセージの流れ(特にキー、マウス関連)を阻害する
必要があるかもしれません。
> 2の方法の場合、1度目はうまくいくのですが、2度目以降うまくいきません。
んー、ということは、いったんキーを押したあと、ちゃんと放していますか?
APIの3つめの引数、おしたあとはちゃんと、KEYEVENTF_KEYUPを使って、
Ctrlを放してくださいね。
厳密にはCもちゃんと放さないといけないと思いますけど、
これを放さなくて、問題が出た記憶はあんまり…^^;