- 461 名前:デフォルトの名無しさん mailto:sage [2007/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するプログラムが立ち上がってこなかったら 無限ループに陥ってしまうし・・・どうしたらいいんでしょう?
|

|