プロが教える店舗&オフィスのセキュリティ対策術

VBスクリプト---アプリの終了について

お世話になります。

VBスクリプトを使い始めたのですが、アプリの終了の仕方が分かりません。

起動は、
WSHShell.Run とか、
objShell.Run で分かるのですが、終了のメソッドが分からないのです。

どなたかご教示ください

A 回答 (4件)

なるほど・・・


for each Process in _
GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
("select * from Win32_Process where Name='プログラム名'")
Process.terminate
Next
この方がスッキリですね;

他に回答が無いので引き続き書かせてもらいますが、特に詳しいわけではないので;

数が少ないのであれば上記を複数書けばOKです。
時間を空けるには
WScript.Sleep 10000 (1が1/1000秒なので、ここでは10秒)
と書けばOK(時間は正確ではなく約10秒だったはず)

強制終了なのでデータの保存待ちの必要は無いはずなので時間待ちは必要ないと思います。
ここではProcess.terminate
先に上げたものでは
For Each oProc In oProcs
oProc.Terminate
Next
ここが終了待ちになっているはずで、終了反応があったら次へと動いているんだと理解してます。
間違ってたらごめん;
    • good
    • 2
この回答へのお礼

どうもありがとうございました。

アプリの複数終了は、このスクリプトを繰り返せば可能は分かっていましたが、スマートな方法はないか思った次第です。

お礼日時:2010/11/04 21:38

Set Locator = WScript.CreateObject("WbemScripting.SWbemLocator")


Set Service = Locator.ConnectServer
Set oProcs = Service.ExecQuery _
("Select * From Win32_Process Where Description=""終了させるプログラム名""")
For Each oProc In oProcs
oProc.Terminate
Next

終了させるプログラム名は単に○○○.exeでOK

この回答への補足

DIooggooID さん
makoto111 さん
ご返事ありがとうございます。

ご紹介頂いたスクリプトは微妙に違いますが、どちらも同等のもので、使い分ける必要はありませんか。

追加の質問をさせてください。
複数のアプリを同時に終了と、時間をずらして(遅延)終了させる方法などもご教示頂けると幸いです。

補足日時:2010/11/03 15:54
    • good
    • 0

こちらが参考になりませんか?




http://oshiete.goo.ne.jp/qa/1328530.html

参考URL:http://oshiete.goo.ne.jp/qa/1328530.html

この回答への補足

DIooggooID さん ご返事ありがとうございます。

makoto111さんからもご返事頂きましたので、makoto111さんの方で補足の質問を致しますのでよろしくお願い致します。

補足日時:2010/11/03 15:45
    • good
    • 0

> アプリの終了の仕方が分かりません。





 アプリケーションの仕様に基づいて、VBスクリプトから
アプリケーション終了の契機になるイベントを、VBスクリプトから発生させてください。

この回答への補足

お答えありがとうございます。


説明不足でした。強制終了をさせたいのです。

>アプリケーション終了の契機になるイベント

補足日時:2010/11/01 10:27
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング