Я нашел этот скрипт перезагрузки Vista.vbs. Вы можете помочь с этим? - PullRequest
0 голосов
/ 12 октября 2009

Нашел этот скрипт Reboot Vista.vbs на нескольких форумах. Похоже, что весь пост (текст, включая код) был размещен на многих форумах. Так что я не знаю, кто автор оригинала. Вот код здесь:

Option Explicit
On Error Resume Next
Dim Wsh, Time1, Time2, Result, PathFile, MsgResult, MsgA, AppName, KeyA, KeyB, TimeDiff
MsgA = "Warning! Close all running programs and click on OK."
KeyA = "HKEY_CURRENT_USER\Software\RestartTime\"
KeyB = "HKEY_CURRENT_USER\Software\Microsoft\Windows\Curr e ntVersion\Run\RestartTime"
AppName = "Boot Up Time"
Set Wsh = CreateObject("WScript.Shell")
PathFile = """" & WScript.ScriptFullName & """"
Result = wsh.RegRead(KeyA & "Times")
if Result = "" then
MsgResult = Msgbox (MsgA, vbOKCancel, AppName)
If MsgResult = vbcancel then WScript.Quit
Wsh.RegWrite KeyA & "Times", left(Time,8), "REG_SZ"
Wsh.RegWrite KeyB, PathFile, "REG_SZ"
Wsh.Run "cmd /c Shutdown -r -t 00", false, 0
else
Wsh.RegDelete KeyA & "Times"
Wsh.RegDelete KeyA
Wsh.RegDelete KeyB
TimeDiff = DateDiff("s",Result,left(Time,8))
MsgBox "Your system reboots in " & TimeDiff & " seconds", VbInformation, AppName
end if
wscript.Quit

Предполагается перезагрузить Vista, и, как только она перезагрузится, покажите время, необходимое для перезагрузки. Перезагружается нормально и все такое, но диалоговое окно не всплывает. Я должен вручную нажать на сценарий снова, чтобы появилось время? Я думаю, что это побеждает цель сценария, не так ли?

Любая помощь будет высоко ценится ребята.

Ответы [ 2 ]

1 голос
/ 12 октября 2009

Вы не можете иметь пробелы в regpath: измените "Curr e ntVersion" на "CurrentVersion"

Эта строка:

Wsh.RegWrite KeyB, PathFile, "REG_SZ"

зарегистрирует скрипт для автоматического запуска с окнами, если PathFile и KeyB верны, но с пробелами в "Curr e ntVersion" он не будет работать.

0 голосов
/ 12 октября 2009

Может быть, вы получаете сообщение об ошибке, препятствующее отображению окна сообщения? Эта строка в начале скрипта будет игнорировать все ошибки:

On Error Resume Next

Вы должны просто удалить эту строку, затем запустить ее снова и посмотреть, что происходит.

...