掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
アクティブウィンドウへ仮想キーを送るには? (ID:6360)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Halbow です。 > ウィンドウは最前面に来ることはできるのですが,そのあとにキーが出力されてません・ たとえば、フォーカスがリストボックスにあったり、ボタンにあるときにキーボードを 押しても文字列は出力されませんよね。アクティブウィンドウのフォーカスのある コントロールはキーボードの入力を受け付けるものでしょうか? メモ帳は、コントロールとしては VCL の TMemo に相当するものしかありません。 ですから、メモ帳がアクティブウィンドウなら、必ずエディット部分にフォーカス があるはずです。Keybd_event() 部分が正しいことは、メモ帳を起動しておいて procedure TForm1.Button1Click(Sender: TObject); var hMemochou:HWND; begin hmemochou := FindWindow('Notepad',nil); SetForegroundWindow(hMemochou); Keybd_event(Byte('D'),0,0,0); Keybd_event(Byte('D'),0,KEYEVENTF_KEYUP,0); Keybd_event(Byte('E'),0,0,0); Keybd_event(Byte('E'),0,KEYEVENTF_KEYUP,0); Keybd_event(Byte('L'),0,0,0); Keybd_event(Byte('L'),0,KEYEVENTF_KEYUP,0); Keybd_event(VK_RETURN,0,0,0); Keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0); end; を実行してみると分かります。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.