起動の完了を確認するには


peet  2005-11-26 02:11:54  No: 92932

peetです。質問です。

ある市販のアプリケーションを、自作のランチャから起動しようと
VBで作っています。

動きとしては、
自作ランチャから画面Aを起動します(このとき、引数も渡します)。
画面Aは受け取った引数を整形し、画面Bを呼び、すぐに自分自身で閉じます。
画面Bが起動します。

この一連の処理の中で、画面Bが正常に起動できたか(上がりきった)を
自作ランチャでチェックしたいのですがどうすればいいのかわかりません。

環境はWindowsXP+VB6です。


ガッ  2005-11-26 02:16:48  No: 92933

画面ですか…色々誤解が生まれそうですね。

で、「画面」がプロセスを指しているのなら、「WMI」か「プロセス 列挙」でググってみてください。
「画面」が本当にウィンドウを指しているのなら、「EnumWindows」でググってみてください。

※他に「画面」といえば…ディスプレイ?


peet  2005-11-26 02:33:46  No: 92934

どうもです。
すみません、画面とはウィンドウのことです。

EnumWindowsをつかってみました。画面AがBを呼ぶまでに時間が
かかっていて、画面Bのプロセスを取得できませんでした。


ガッ  2005-11-26 02:42:37  No: 92935

> EnumWindowsをつかってみました。
> 画面AがBを呼ぶまでに時間がかかっていて、
> 画面Bのプロセスを取得できませんでした。
※EnumWindowsで取得できるのはプロセスではなくウィンドウハンドルです。
「取得できませんでした」ではなく、
数秒間、ずーっと試行し続けるのは駄目なのですか?


peet  2005-11-26 02:50:43  No: 92936

>「取得できませんでした」ではなく、
> 数秒間、ずーっと試行し続けるのは駄目なのですか?

試行し続ける事も考えてみましたが、
画面Bが起動できなかったときや
起動までに数分掛かることを考えるとどうすればよいのか。


ガッ  2005-11-26 03:01:27  No: 92937

> 画面Bが起動できなかったときや
> 起動までに数分掛かることを考えるとどうすればよいのか。
素直にタイムアウト時間を設定すればいいのでは…?

※画面Bが何か情報を発しているのなら言うこと無いのですが…
  ないですよねぇ…


peet  2005-11-26 03:32:21  No: 92938

>素直にタイムアウト時間を設定すればいいのでは…?

画面Bが起動できなかったら、自作アプリも一緒に閉じたいです。

>※画面Bが何か情報を発しているのなら言うこと無いのですが…
>  ないですよねぇ…

「Form_Loadが完了したよ」っていうMSGが貰えたら
ベストなんですが…

こういうのって他ではどうしてるのかなぁ。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加