Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Перезагрузка explorer

Ответить
Настройки темы
VBS/WSH/JS - [решено] Перезагрузка explorer

Ветеран


Сообщения: 4527
Благодарности: 348


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Подобрал в сети файлик 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
' ****************************************************************

-------
Моя статья на OSzone.net


Отправлено: 06:08, 16-12-2016

 


Moderator


Сообщения: 53589
Благодарности: 15546

Профиль | Отправить PM | Цитировать


truvo, эту строчку:
Цитата:
If intDoIt = vbCNo Then
заменить на:
Код: Выделить весь код
If intDoIt = vbNo Then
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:46, 16-12-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Перезагрузка explorer

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Перезагрузка кнопкой (экстренная перезагрузка) monster Хочу все знать 2 30-12-2014 05:46
Перезагрузка explorer.exe semiono AutoIt 7 13-10-2011 18:06
Интернет - Перезагрузка Internet Explorer Event ID 1000 AlexT19 Microsoft Windows Vista 6 24-04-2009 23:02
Интерфейс - Explorer - перезагрузка оболочки LeonF Microsoft Windows 2000/XP 1 08-08-2007 15:13




 
Переход