別のプログラムを使用して自動化する小さなプログラムに取り組んでいます。FindWindow(Ex) を使用して、ソフトウェアの他のすべてのコントロールにテキストを取得/設定することに問題はありませんが、使用している編集コントロールで障害にぶつかっています。Spy++ を使用すると、問題なくコントロールを見つけることができ、テキストを取得/設定できますが、実際には表示されません。カスタムコントロールですか?カスタム コントロール内のさまざまなコントロールにアクセスできますか? 何が起こっているかを示すために、いくつかのスクリーンショットを添付しました。
Spy++ を使用してコントロールのクラスを見つける:
しかし、キャプション「sometext」は表示されません
次に、テキストを「testing」に設定します
テキストを読み取りますが、実際に表示されるものではありません。コントロールにはまだ「sometext」が表示されますが、Spy++ と自分の GetText メソッドには「testing」と表示されます
最後に、それを閉じて、コントロールか何かを覆っているかどうかを確認しようとしましたが、これが私が見たものです
典型的な最小化/クローズを行いますが、「テキストボックス」タイプのものがまだ表示されています。内部にコントロールを持つ、彼らが構築したカスタム コントロールですか? 「sometext」というテキストを取得/設定できますか? また、Spy++ ウィンドウで「sometext」をブラウズして検索しましたが (もちろん、更新した後)、どこにも見つかりませんでした。
私は現在、フィールド内のカーソルをアクティブにするフォーカスを設定し、sendkeys を使用してフィールドをクリアし、新しいテキストを入力することでそれを行っています。正常に動作しますが、キーを押している間にフォーカスが失われた場合に備えて、sendkeys を使用したくありません。
また、可能であれば .NET 2.0 との互換性を保つようにします。ありがとう!