VBのSendKEY処理について


りお  2004-06-23 17:09:42  No: 84175  IP: [192.*.*.*]

SendKEYについての質問です。
プログラムでテキストに入力した値をコマンドボタンを
押すことによって、SendKeyで
Internet Explorerなどの画面へ値を飛ばす処理を行っています。

処理実行時にプログラム内でInternet Explorer画面をアクティブに設定し、
フォーカス位置にデータをSendしているのですが、

Internet Explorer画面が複数あった場合に処理がうまくいきません。
Internet Explorer画面名をプログラム内で指定してアクティブにするように
設定すると、指定以外の画面にデータを飛ばせませんでした。
(画面の名前が違うため)

Internet Explorer画面をアクティブにするプログラム処理をおこなわずに、
今現在アクティブになっている画面のフォーカスに値をSendするように
設定した場合は、Internet Explorerの画面の名前などは気にしなくて
いいんですが、プログラム起動しているVBのフォームが一番アクティブなので
Internet Explorer画面にデータをSendできませんでした。
(VBのフォームのアクティブフォーカスにデータがSendされました)

Internet Explorer画面は最小化せず、VBプログラムフォームの次にアクティブに
なっている状態でのみデータをSendしています。

Internet Explorer画面名を指定せずに、複数あがっているプログラムやInternet画面の
2番目、3番目の画面をアクティブにする方法などはあるのでしょうか?

行き詰って困っています。
お願いします。
使用VBはVB6です。WindowsXPです。

編集 削除
JAN  2004-06-26 11:42:41  No: 84176  IP: [192.*.*.*]

IEFrameクラスのウィンドウハンドルを全て取得し
Zorderの値で判断するとか

編集 削除
シート  2004-06-26 15:01:11  No: 84177  IP: [192.*.*.*]

ここに動作しているウィンドウの名前などを取得する方法が載っています。
http://www.geocities.co.jp/SiliconValley/4805/vbtips/vbtips078.htm
人に言えるほど詳しくは無いのですが、これでどうにかなりませんか?

編集 削除