Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Перезагрузка explorer (http://forum.oszone.net/showthread.php?t=321773)

truvo 16-12-2016 06:08 2696065

Перезагрузка explorer
 
Подобрал в сети файлик 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 2696081

truvo, эту строчку:
Цитата:

If intDoIt = vbCNo Then
заменить на:
Код:

If intDoIt = vbNo Then


Время: 17:09.

Время: 17:09.
© OSzone.net 2001-