名前 題名 ▼ Mr.XRAYさん > WM_KEYDOWN 等は lParam の指定がないと単にキーコードを送信するだけです. > キーイベントとするには lParam の値を設定します. > Shift キー等の組み合わせの時はその情報を lParam に格納しておきます. > WM_KEYDOWN 等メッセージを受信した時に Shift キー等を検出するコードを書くことがあります. > そのことを思い出してください. > 送信には PostMessage を使用します. > > 以下の ZIP ファイルは昔テストしたコードを整備したものです. > Swiss Delphi Center に掲載されていたコードを利用しています. > Swiss Delphi Center です.懐かしいと思う方がいるかも. > 今日現在も記事が存在することを確認しました. > > http://mrxray.on.coocan.jp/Delphi/zip/QandA_20190728_Emulate_KeyEvent.zip > (EXE + ソースコード.説明なし) > > 某掲示板の場合は以下のようになります. > > //============================================================================= > // フォーム生成時の処理 > //============================================================================= > procedure TForm1.FormCreate(Sender: TObject); > begin > Memo1.Lines.Text := '日本語 ABC テスト XYZ'; > Memo1.SelStart := 7; > end; > > //============================================================================= > // PostMessage でキー操作を実行 > // 単なるキーコードのポストではない > //============================================================================= > procedure TForm1.SpeedButton1Click(Sender: TObject); > begin > PostKeyExHWND(Memo1.Handle, VK_RETURN, [], False); > Memo1.SelStart := 7; > end; > > //============================================================================= > // PostMessage でキー操作を実行 > // 単なるキーコードのポストではない > //============================================================================= > procedure TForm1.SpeedButton2Click(Sender: TObject); > begin > PostKeyExHWND(Memo1.Handle, VK_LEFT, [ssShift], False); > end; > > 正直なところ,keybd_event 関数を使用した方が簡単で確実です. > と思います.個人的には. GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link