Показать полную графическую версию : [решено] Выключение ПК с возможностью отмены
Варианты реализации запуска сценария выключения компьютера с уведомлением и возможностью отмены:
Вариант с использованием NirCmd (http://www.nirsoft.net/utils/nircmd.html): сообщение #2 (http://forum.oszone.net/post-1882089.html#post1882089)
Вариант с использованием сконфигурированного 7z SFX: сообщение #6 (http://forum.oszone.net/post-1882460.html#post1882460)
Вариант с использованием VBS (без отображения таймера): сообщение #20 (http://forum.oszone.net/post-2477335.html#post2477335)
Вариант с использованием HTA (с таймером, прогрес баром и звуковым уведомлением): сообщение #26 (http://forum.oszone.net/post-2477412.html#post2477412)
Специализированные программы:
PowerOff (http://www.videozona.ru/software/PowerOff/PowerOff.asp)
Auto PowerOFF (http://www.google.com/search?hl=ru-RU&q=Auto+PowerOFF) - программа не имеет официального сайта.
Подскажите скрипт для выполнения завершения работы виндовс с возможностью отмены.
т.е. нужно ночью тушить все компы в организации, но с условием отмены (если пользователь в данный момент присутствует на рабочем месте)
я это вижу как окно с предупреждением и двумя кнопками - ДА - со счетчиком и ОТМЕНА или ОТСРОЧКА выключения.
при Отмене выполняться выход из скрипта
при ДА выполняется shutdown c параметрами
при ОТсрочке скрытие окна с задержкой (пинг на пример) потом снова вопрос .
Возможность окно свернуть, но не закрыть.
NirCmd - Windows command line tool (http://www.nirsoft.net/utils/nircmd.html):
nircmdc.exe initshutdown "Инициировано завершение работы" 120 force & nircmdc.exe qboxcomtop "Отменить завершение работы?" "Отмена завершения работы" abortshutdown
я это вижу как окно с предупреждением и двумя кнопками »
Я это вижу — правильным применением организационных мер.
Iska, это что? Я не совсем в это дело втюхиваю, но объясни вкратце, как последний код понять
- Это условие "или" или что-то другое? При каких условиях выбор, может быть, что либо иначе?
Самое главное, не понял в последнем - в первом случае форсирование, остальные нет. Какие то приоритеты?
Iska, Если можно с комментариями, пожалуйста и не одной строкой :)
Спасиб
Может я коряво выразился
в первом случае форсирование, остальные нет. Какие то приоритеты? »
если откажетесь от завершения работы компьютера, то что вы собираетесь форсировать?
Iska, как то корявенько это выглядит, нельзя ли по красивее и попонятнее пользователю ?
перекиньте тему в ветку http://forum.oszone.net/forum-103.html
нельзя ли по красивее и попонятнее пользователю ? »
Такое устроит?
http://gora.7zsfx.info/test/reset.png
Текст заголовка, окна, время, иконку можно поменять.
Это 7z SFX с конфигом:;!@Install@!UTF-8!
Title="Перезагрузка компьютера"
BeginPrompt=" ВНИМАНИЕ !!!
Сейчас будет произведена перезагрузка компьютера."
BeginPromptTimeout="30"
; Перезагрузка
RunProgram="forcenowait:hidcon:cmd /k Shutdown -r -f -t 0"
GUIMode="2"
GUIFlags="1+8+512+4096"
;!@InstallEnd@!
gora, да, можно сам sfx выложить ?
можно сам sfx выложить ? »
Можно, только я думал, что Вы сами сможете его сделать.
Тогда уточните следующие параметры:Текст заголовка, окна, время, иконку »
отредактировать смогу, выложите просто пустышку-шаблон
c помощью 7z SFX Tools редактировать ?
batyaPS, я делаю с помощью Кнопки (http://forum.oszone.net/post-576022.html#post576022)
Текст заголовка, окна, время, иконку можно поменять. »
а иконку в окне которая синяя как поменять ?
кнопка очень понравилась.
интересует возможность больших параметров, поверх всех окон, со звуковым сигналом, редактор текста(как выровнить текст
по центру)
и мне не понятно - если файлов hidcon.exe и shutdown.exe нет в системе архив не отработает как положено ?
может их нужно добавить в архив ?
как отменить отмену таймера ?
а иконку в окне которая синяя как поменять ? »
Читайте в справке по модифицированному модулю (http://7zsfx.info/) параметр GUIFlags="x" (флаги 2048 и 4096)возможность больших параметров, поверх всех окон, со звуковым сигналом, редактор текста »
Все возможности описаны в справке.если файлов hidcon.exe и shutdown.exe нет в системе архив не отработает как положено ? »
hidcon - это префикс, а не имя утилиты. Эта возможность, скрывать окна, обеспечивается самим модулем без доп. утилит. shutdown.exe в системе должна присутствовать. В какой системе ее нет?как отменить отмену таймера ? »
См. параметр CancelPrompt="cancel_dialog_text" и его описание.
м. параметр CancelPrompt="cancel_dialog_text" и его описание. »
не поняли друг друга.
я имею ввиду, то, что если тронуть мышкой диалог с обратным таймером, то таймер отключается, а окно продолжает
висеть . можно ли исключить возможность остановки таймера ?
можно ли исключить возможность остановки таймера ? »
Нет, и это правильно. Пользователь среагировал на окно (щелкнул в нем мышкой), значит он его увидел и пусть теперь сам выбирает какую кнопку и когда нажать. Это даже удобно, если появилось окно, а у Вас есть незакрытые документы. Остановите таймер, сохраните документы, а затем нажмите "ОК" для выполнения прописанных в конфиге команд (у Вас там может быть еще что-то кроме перезагрузки).
Если Вам нужно БЕЗ возможности отмены, то может подойдет что-то подобное (http://forum.oszone.net/thread-103588.html). Это тоже 7z SFX.
DemchaAV
01-03-2015, 10:39
В общем в запланированных задачах на каждый день у меня стоит выключение компьютера в определённое время через Bat файл в котором написано shutdown.exe /s
но иногда я забываю про это и мне не надо включение, а данная задача выключает без отмены Можно ли написать так что бы при запуске задачи выполнялось завершение с возможность да или нет, если в течении 60 секунд не было выбрано действие выполнялось выключение, ну а при выборе отмены нет
Можно простым vbs. Пример:Option Explicit
Dim oShell, retCode
Set oShell = WScript.CreateObject("WScript.Shell")
retCode = oShell.Popup("Выключить компьютер?", 60, "Подтверждение выключения", 4 + 32)
Select Case retCode
case 6, -1
Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "C:\WINDOWS\system32\shutdown.exe -s -t 0 -f"
case 7
WScript.quit(1)
End Select
Первое число, выделенное красным - это таймаут в секундах, второе - поменяйте на свои значения, которые у вас в батнике.
При выборе Нет выполнение скрипта будет прервано, при выборе Да - будет запущена команда выключения. Если в течение 60 секунд выбор не сделан, то будет произведено выключение.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.