C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 29 を表示中)
■13765 / )  Re[1]: 他のプログラムのウィンドウ内の文字取得
□投稿者/ まどか (438回)-(2008/02/04(Mon) 18:13:43)
> ソフトは別ウィンドウで開きます(最前面)。
> OKのときは、エラー=0と表示され、NGの場合はエラー=3など0以外が表示されます。
>
> 市販されているソフトのウィンドウの中から文字を検索する方法があるのでしょうか?
> 別ウィンドウの文字を検索する関数はあるのでしょうか?

この場合、いわゆるフォームのことを指すウィンドウではなく、
WindowsOSの仕組みのウィンドウ(ハンドル)(メッセージを受け取る単位)がポイントです。
まずは、SPY等でそのエラーが表示されているウィンドウを特定する必要があります。

#ただし、VB6アプリのLabelのようにウィンドウハンドルを持たずSPYに表示されないものがあります。
#少なくともその場合の特定方法は私はわかりません。
#あれば、だれかおしえて。

特定できたら、「どんな状況」でも「これだ!」と特定できる条件を定義する必要があります。
これができない場合はあきらめてください。>実行するごとに見つかったり見つからなかったりすることになるから。
#ちなみにSPYで出てきたウィンドウハンドルは毎回変わりますので使えません。

特定できる条件ができれば、EnumWindows API等でウィンドウを列挙しながら条件に合うものを探すことになります。
条件に合うウィンドウハンドルを取得できれば、GetWindowText APIでVB6で言うところのキャプションを取得できることでしょう。

返信 編集キー/


管理者用

- Child Tree -