Войти

Показать полную графическую версию : [решено] Перезагрузка explorer


truvo
16-12-2016, 06:08
Подобрал в сети файлик restartexplorer.vbs. Вначале спрашивает: "Хочешь перезагрузить explorer?"

Ответишь "да" — перезагрузит.

Ответишь "нет" — всё равно перезагрузит.

Что подправить для правильной реакции на "нет"?

Если ошибка продолжаем далее.
On Error Resume Next
' ****************************************************************
'Тут задаются параметры текста и заголовка.
L_Welcome_MsgBox_Message_Text = _
"Выполняем перезагрузку explorer.exe?"
L_Welcome_MsgBox_Title_Text = "Перезагружаем explorer.exe"
Call Welcome()
' ****************************************************************
'Завершает работу программы.
Set oShell = CreateObject("WScript.Shell")
On Error Resume Next
' ****************************************************************
Sub t_message(name, res)
Select Case res
case 0 WScript.Echo name & " Successful completion."
case 2 WScript.Echo name & " The user does not have access to the requested information."
case 3 WScript.Echo name & " The user does not have sufficient privilge."
case 8 WScript.Echo name & " Unknown failure."
case 9 WScript.Echo name & " The path specified does not exist."
case 21 WScript.Echo name & " The specified parameter is invalid."
Case Else WScript.Echo name & " " & res & " Refer to Win32 error code documentation."
End Select
End Sub
' ****************************************************************
'explorer.exe
' ****************************************************************
For each Service in GetObject("winmgmts:{impersonationLevel=impersonate}!//localhost").ExecQuery("select * from Win32_Process where Name='explorer.exe'")
res = Service.Terminate()
Call t_message("explorer.exe", res)
Next
' ****************************************************************
'Запускаем Программу.
Dim wsh
Set wsh=CreateObject("WScript.Shell")
wsh.Run "%systemroot%\explorer.exe"
' ****************************************************************
'Если нажимаем да то скрипт продолжает работу, а если нет то завершает работу.
Sub Welcome()
Dim intDoIt

intDoIt = MsgBox(L_Welcome_MsgBox_Message_Text, _
vbYesNo + vbInformation, _
L_Welcome_MsgBox_Title_Text )
If intDoIt = vbCNo Then
WScript.Quit
End If
End Sub
' ****************************************************************

Petya V4sechkin
16-12-2016, 08:46
truvo, эту строчку:
If intDoIt = vbCNo Then
заменить на:
If intDoIt = vbNo Then




© OSzone.net 2001-2012