2011-03-10 25 views
2

私はInput Simulatorライブラリを使用して、C#を使用して別のアプリケーションへの入力をシミュレートしています。これはSendInput API呼び出しを使用します。誰もが、それらのメッセージが処理されているかどうかを見るために、外部アプリケーションのWindowsメッセージキューを監視する方法があるかどうかを知っていますか?SendInputを使用する場合どのように受信ウィンドウがメッセージを受信して​​処理したかを知ることができますか?

たとえば、「He​​llo」という単語のキーストロークをメモ帳に送信したいとしますが、メモ帳が入力を受けて処理し、「Hello」という単語が表示されるまで、アプリケーションを続行しないようにしますメモ帳のウィンドウでkeypressのメッセージがもうメモ帳のメッセージキューになくなったら、これが起こったことはわかりますが、それを見つける方法を見つけることはできません。

私は.NET SendKeysクラスを使用していましたが、SendWaitを使用していましたが、これは不安定になり、外部アプリケーションで時々フリーズしてしまいましたので、数週間後に新しいメソッドを探しています。

多くのお礼ありがとうございます

答えて

2

できません。 SendInputを呼び出すと、最終的には非同期に配信される投稿メッセージが生成されます。

なぜテキストを編集ウィンドウに直接送信できるのかをメモ帳に入力するのはなぜですか?シンプルになるだけでなく、堅牢で同期的です。

+0

メモ帳は単なるサンプルアプリケーションでした。私はこれを自動化されたテストプロセスの一部として使用しており、可能な限り高いレベルで物事をシミュレートして、発射すべきすべてのイベントが発生するようにしたいと考えています。したがって、私はマウスの動き、マウスのクリックをシミュレートしており、これも適切に動作させたいと思います。私はちょうどThread.Sleep()にスティックする必要があるかもしれないように聞こえる。 –

関連する問題