回答:
Windows 7では、スケジュールされたタスクでこれを行うことができます。必要なアクションを実行するバッチスクリプトをセットアップし、次のトリガーのいずれかでタスクを作成します。
期待どおりに動作することを確認するためにこれらをテストしていませんが、「ワークステーションロック」を使用して大成功を収めました。XPのスケジュールされたタスクの記憶から、「ログオンしたとき」しかありません。
お役に立てれば
Win32_PowerManagementEventを使用していますか?Googleで検索したところ、次のスクリプトが見つかりました(保証なし)。
Set oShell = CreateObject("WScript.Shell")
Set colMonitoredEvents = GetObject("winmgmts:")._
ExecNotificationQuery("Select * from Win32_PowerManagementEvent")
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
Select Case objLatestEvent.EventType
Case 4
oShell.Run "Calc.exe", 1, False
MsgBox "Entering suspend, Calc started", _
vbInformation + vbSystemModal, "Suspend"
Case 7
oShell.Run "Notepad.exe", 1, False
MsgBox "Resuming from suspend, notepad started", _
vbInformation + vbSystemModal, "Suspend"
Case 11
MsgBox "OEM Event happened, OEMEventCode = " _
& strLatestEvent.OEMEventCode
Case 18
MsgBox "Resume Automatic happened"
End Select
Loop