Kód: Vybrať všetko
option explicit
Dim WshShell, FXisRunning, colprocessList, strComputer, runText, objWMIService
Set WshShell = WScript.CreateObject("Wscript.Shell")
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
WScript.Sleep 10000
do
WScript.Sleep 1000
Set colProcessList = objWMIService.ExecQuery _
("SELECT * FROM Win32_Process WHERE Name = 'notepad.exe'") 'tu si prepis notepad.exe na nazov procesu, ktory chces sledovat
FXisRunning = (colProcessList.count <> 0)
Set colprocessList = Nothing
loop while FXisRunning
runText = "shutdown -s -f -t 60 -c " & chr(34) & "Pocitac sa vypina" & chr(34)
WshShell.run(runText)Kto nerozumie tomu čo tento script robí:
-script 10s čaká (v prípade, že by sledovaný proces ešte enenabehol)
-v cykle s periódou kontroluje či daný proces beží
-keď proces skončí (vypne sa prehrávač či čo to je) cyklus skončí a script pokračuje ďalším riadkom
-premenná txtRun obsahuje reťazec, ktorý pri zadaní do Run-u vypne počítač po minúte
Konkrétne to je: shutdown -s -f -t 60 -c "Pocitac sa vypina"
Už len doplním, že vypnutie sa dá zastaviť zadaním shutdown -a do run-u
Jednoduchšie to už spraviť neviem.