WSH(・∀・)スレッド! Part 2
at TECH
461:デフォルトの名無しさん
07/12/28 21:27:59
>>458
うっはw 指摘ありがとうございます。
超恥ずかしいOTL オレバカす・・・・・
それはそうと、スクリプトはどんなコンピュータで実行されるか分からないじゃないですか?
ハードウェアのインストールウィザードで一旦止まりますが、要はユーザがそれを見て
よく分からずに「インストール停止」を選べないように、出てきた瞬間にインストールを選択
させてインストールしたいのです。
最悪かなり重いマシンで実行する事を想定すると Wscript.Sleep 10000で10秒ぐらいは待って
それから objWshShell.SendKeys "{Left}" Wscript.Sleep 100 objWshShell.SendKeys "{Enter}"
ってやらないと、まだハードウェアのインストールウィザードが出てきてないのに
SendKeysしてしまうと失敗しますよね。
ではそのように作ったスクリプトを高速なマシンで実行した場合はどうなるか・・・
ハードウェアのインストールウィザードは出ているのにしばらく停止したまま。その間にユーザが
インストール停止を選択してしまうかもしれない。そうでなくても無駄に待ち時間が長いのは問題。
だから、出てきたらすぐインストールを選択させたいんです。無駄な待ち時間をなくしたい。
そうするにはどうすればいいのでしょうか?
AutoHotKeyだと IfWinExist タイトル で そのタイトルが存在するかどうかチェックとか
そういった事が出来たのですが、WSHではどうするのかなぁと。
存在しないタイトルを objWshShell.AppActivate タイトル ってやってアクティブにしようとして
存在しないのだから多分 Falseが帰ってくるから、それがTrueになるまで1秒ずつ実行するような
無限ループでも作ればいいのでしょうか?こんな感じ
Do While objWshShell.AppActivate("ハードウェアのインストール") <> True
Wscript.Sleep 1000
Loop
しかしこうするとなんらかの原因で永遠にAppActivateするプログラムが立ち上がってこなかったら
無限ループに陥ってしまうし・・・どうしたらいいんでしょう?
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4870日前に更新/234 KB
担当:undef