掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
仮想キーコードの送信方法 (ID:49838)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になります。標記の件について質問させてください。 現在、自分のプログラムで、仮想キーの送信を行いたいと思い、試しにTMemoに エンターキーやShift+左キーを送信するプログラムを以下のように書きま した。ですが、エンターキーは送信されません。また、左キーはShiftキー が押されない状態のまま(範囲選択がなされず)、単にカーソルが左に1個 ずれるだけになってしまいます。どのようにすれば、意図どおりに動くで しょうか。 ※キー送信の合間に別の処理を挟みたいので、PostMessageの使用は考えて おりません。(処理の順番が狂ってしまうため) また、アプリケーションは必ずしもアクティブな状態になっているわけ ではありませんので、Keybd_eventの使用は考えておりません。 ※WM_KeyDownの代わりにWM_IME_CHARを使うようなことを書いているサイト もありましたが、現状ではよく理解できておりません。 procedure TForm1.SpeedButton1Click(Sender: TObject); begin SendMessage(Memo1.Handle, WM_KeyDown, VK_Return, 0); SendMessage(Memo1.Handle, WM_KeyUp, VK_Return, 0); end; procedure TForm1.SpeedButton2Click(Sender: TObject); begin SendMessage(Memo1.Handle, WM_KEYDOWN, VK_Shift, 0); SendMessage(Memo1.Handle, WM_KeyDown, VK_LEFT, 0); SendMessage(Memo1.Handle, WM_KeyUp, VK_LEFT, 0); SendMessage(Memo1.Handle, WM_KEYUP, VK_Shift, 0); end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.