3

入力シミュレータライブラリを使用して、C#を使用して別のアプリケーションへの入力をシミュレートしています。これはSendInputAPI呼び出しを使用します。外部アプリケーションのWindowsメッセージキューを監視して、それらのメッセージが処理されたかどうかを確認する方法があるかどうか誰かが知っていますか?

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

.NET SendKeysクラスとSendWaitを使用していましたが、これは不安定で、外部アプリケーションでフリーズが発生することがあるため、何週間も修正を試みた後、新しいメソッドを探しています。

どうもありがとう

4

1 に答える 1

2

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

テキストを編集ウィンドウに直接送信できるのに、なぜメモ帳への入力を偽造するのですか?それははるかに単純であるだけでなく、堅牢で同期的です。

于 2011-03-10T18:30:40.437 に答える