名前 題名 ▼ Mr.XRAYさん > 受信側のアプリも自分で開発する場合であれば, > 他のアプリにフォーカスを移動しないで, > 他のアプリへキー操作を送信する方法が全くないわけではありません. > > [650] [02_レコード型の場合] > http://mrxray.on.coocan.jp/Delphi/plSamples/650_SendText.htm#02 > > のサンプルの方法が使用できます. > 送信側は例えば以下のようします. > テータを受け取ったアプリ側では,このデータを元に WM_KEYDOWN, WM_KEYUP メッセージを > 目的のコントロールに PostMessage します. > これも UP した ZIP 書庫に追加しておきました. > > > type > TKeyDataInfo = record > Key : Byte; > shift: TShiftState > end; > > //============================================================================= > // キー押下データの送信 > // [Enter] > //============================================================================= > procedure TSenderForm.Button1Click(Sender: TObject); > var > LKeyData : TKeyDataInfo; > LCopyDS : TCopyDataStruct; > LhWindow : HWND; > begin > LKeyData.Key := VK_RETURN; > LKeyData.shift := []; > > //受取る側のウィンドウハンドル > LhWindow := FindWindow('TReceivForm', nil); > if LhWindow = 0 then exit; > > LCopyDS.dwData := 1234; //適当な値 > LCopyDS.cbData := SizeOf(LKeyData); > LCopyDS.lpData := Addr(LKeyData); > > SendMessage(LhWindow, WM_COPYDATA, Handle, LPARAM(Addr(LCopyDS))); > end; > > //============================================================================= > // キー押下データの送信 > // [Shft] + [←] > //============================================================================= > procedure TSenderForm.Button2Click(Sender: TObject); > var > LKeyData : TKeyDataInfo; > LCopyDS : TCopyDataStruct; > LhWindow : HWND; > begin > LKeyData.Key := VK_LEFT; > LKeyData.shift := [ssShift]; > > //受取る側のウィンドウハンドル > LhWindow := FindWindow('TReceivForm', nil); > if LhWindow = 0 then exit; > > LCopyDS.dwData := 1234; //適当な値 > LCopyDS.cbData := SizeOf(LKeyData); > LCopyDS.lpData := Addr(LKeyData); > > SendMessage(LhWindow, WM_COPYDATA, Handle, LPARAM(Addr(LCopyDS))); > end; GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link