ついに夏本番!さぁ、家族でキャンプに行くぞ! >>

お世話になります。
どなたか教えてください。

WINDOWSのシャットダウンの前に、OKorキャンセルのメッセージを出し、
OKならあるソフトを起動し、シャットダウン操作をキャンセル。
キャンセルならそのままシャットダウン操作を続行したいのですが、
どうしたらいいでしょうか?

グループポリシー→Windowsの設定→スクリプト→シャットダウンの所に下記のスクリプトを追加しましたが、自己完結するソフトではなくユーザーが操作するソフトの場合はダメなようです。

タイミング的にはスタート→シャットダウン→ここでメッセージを出したい→Windowsのシャットダウンのダイアログ


追加しようと思っているスクリプト

Option Explicit

'オブジェクト変数の宣言とWshShellオブジェクトの作成。
Dim objWshShell
Set objWshShell = WScript.CreateObject("WScript.Shell")

If MsgBox("ソフトを起動するには『キャンセル』ボタンを押してください。  " _
, vbOKCancel) = vbcancel Then

'ソフトを起動。
objWshShell.Run """C:\Program Files\ソフト名.exe"""

End If

Set objWshShell = Nothing

質問のカテゴリーもここで良いのかどうかはっきりしませんが、どうぞよろしくお願いいたします。

A 回答 (2件)

丁度私も今それをやっていたので。


「グループポリシー→Windowsの設定→スクリプト→シャットダウンの所に下記のスクリプトを追加」
は、いいと思います。
そこでバッチファイルを指定します。
バッチファイルの中は以下の通り。
--------------------------------------------
(1) シャットダウンをいったんキャンセル
(2) UIのあるExeを起動
(3) もう一度シャットダウン
--------------------------------------------
shutdown.exe -a
C:\hoge\シャットダウン前の確認.exe
shutdown -r -t 0
--------------------------------------------
こんな感じです。

しかしこれ、Windows Update が当たってからスクリプトが起動するため
うちでは、毎回大量のWindows Updateを当てながらみんな帰ってしまうため
もうひと知恵いるところです。

情報がありましたら教えてください。
ではでは。
    • good
    • 0

使用しているVBのバージョンや環境を書いてください。

    • good
    • 0
この回答へのお礼

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


環境はWindowsXP(2000,7も少々あり)。vb6.0です。

会社のPCなんですが、フローティングライセンスのソフトをみんなで使っています。
退社時にWEB上にあるライセンスロッカーにライセンスを返却するのを忘れる人が多いので、
こうしたものを作りたいなと思った次第です。

私はExcelのVBAを少々やっている程度なので、すぐには理解不能ですが、参考にさせていただきます。

お礼日時:2011/04/15 16:50

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qシステム終了時にバッチファイルやプログラムを実行するには

WindowsXPでは、タスク機能を使って特定の時刻や、ログオン時にプログラムを実行できますが、「システム終了時」は選択肢としてありません。

質問なのですが、スタートメニューから終了を選んだときに、終了する前にプログラムやバッチファイルを実行できるように出来ますでしょうか。

現在は、バッチファイルを作り、プログラムを実行した後にshutdownコマンドで終了させていますが、できればWindowsの通常の終了操作を実行する際にプログラムを実行できれば、と考えています。

どうぞよろしくお願いします。

Aベストアンサー

参考URLがありましたわ
http://www.atmarkit.co.jp/fwin2k/win2ktips/455cexec/cexec.html

この例ではコンピュータの構成でシャットダウンスクリプトを使用していますが同じ要領です。


人気Q&Aランキング