2012-02-08 17 views

答えて

4

SendInput機能は、年齢制限なし、必要なだけの機能を備えています。

2

SendInputを使用して任意のシミュレート入力を行うことはできますが、アプリケーションの完全性レベルに縛られています(つまり、自分よりも高いレベルのアプリケーションに入力を注入できません)。

4

初心者は、最も簡単な解決策だと思うので、しばしばウィンドウにキーを送信しようとします。それは可能だと言って返信するのは間違いありません。多くの場合、開発者はかなりの時間を投資した後、複雑になります。複雑な理由の1つは、コントロール(テキストボックスなど)にフォーカスがあることを確認する必要があるためです。次に、ボタンを押すなど、データを処理するために何かをする必要があります。次の作業を決めるには、ウィンドウを読む必要があります。

代わりに、レベルを上げて、コントロールとその親(ウィンドウ)にアクセスしてアプリケーションを制御しようとします。つまり、データをキー入力するのではなく、文字列として直接テキストボックスに入れることができます。 BN_CLICKED通知メッセージをボタンに送信する代わりに、ボタンをクリックする代わりにwndowに通知メッセージを送信することができます。あなたはそのタイプのことをする方法を探すべきです。それは完全に可能です。

Spy ++に慣れてください。それは本当にあなたがコントロールや窓などを探索するのに役立つツールです。

+0

+1しかし、一部のアプリケーションは予期しない方法でウィンドウメッセージに応答するため、キーストロークを使用することにしばしば戻る必要があることに注意してください。 –

+0

私は簡単な答えがないことに同意します。私はキーストロークの送信が良い解決策になることに同意します。代わりのソリューションを使用する方がより簡単で信頼性が高いことを強調したいと思います。最高の答えは、各アプリケーションに固有のものです。 –

関連する問題