2010-12-05 9 views
0

シリアルポート(シリアルポート上にバーコードスキャナが接続されています)からデータを読み取り、それをアプリケーションに転送するアプリケーションを作成しようとしています。シリアルポートからデータを読み込むことはできますが、メモ帳などのアプリケーションに読み込みテキストを転送する方法はわかりません。私はSendMessage()APIを使用しようとしましたが、成功しませんでした。たぶん私は間違ったことをしました。 誰かが私を助けてくれるでしょうか?アプリケーションにテキストを送信するには?

おかげで、

kampi

+0

「送信」を定義します。 **他のアプリケーションが**データを受け取ることを喜んで期待しているのはなぜですか? –

答えて

1

keybd_eventまたはそれより新しいSendInputを探しているような音がします。キーボード入力をシミュレートすることができます。

+0

ご協力ありがとうございます! SendInputは私が探していたものです!ありがとう – kampi

0

メモ帳にそれを送信する場合、一時ファイルにテキストを保存して、メモ帳で開くことが容易になるだろう。 Windowsアプリケーションからは、これはCreateProcessを使って行うことができます。

一方、受信者アプリケーションの動作を制御している場合は、パイプ、ウィンドウメッセージ、共有メモリなどのさまざまなアプローチを使用できます。 Thisは良い出発点です。

0

別のアプリケーションを意味する場合は、IPC methodsのいずれかを使用してください。

0
HWND hwnd = FindWindow(NULL, L"Untitled - Notepad"); 
SendMessage(hwnd, WM_SETTEXT, NULL, (LPARAM)L"Hello!"); 

これは、メモ帳のタイトルバーのテキストをHelloに設定します。もちろん、メモ帳のテキストボックスコントロールを見つけたり、アプリケーションで独自のコントロールを見つけたり、アクティブなフォアグラウンドウィンドウ(GetForegroundWindowを参照)にフォーカスを持っているコントロールを見つけるために少し精巧にできますが、あなたがテキストを設定するウィンドウ/コントロールのhwnd、上記のコードは動作するはずです。

0

最も簡単な方法はnamed pipesです。

+0

名前付きパイプを使用して、ソースコードを持たないアプリケーションにテキストを送信できますか? (メモ帳など) –

+0

他のアプリケーションは、通信メカニズムを認識しないだけで、パイプなどを開くことはありません。これは、作成した特定のファイルからアプリケーションが突然データの読み取りを開始するのと同じです。 – VitalyVal

関連する問題