![]() |
Подтверждение при нажатии кнопок "Завершение работы" и "Перезагрузка"
помогите решить проблему: система Windows 7 Ultimate 64 bit ... для удобства в панели задач размещены два ярлыка - завершение работы Windows (C:\Windows\System32\shutdown.exe -s -t 00) и перезагрузка (C:\Windows\System32\shutdown.exe -r -t 00). Как сделать так, чтобы при нажатии на кнопку завершение работы и перезагрузка выполнялись не сразу, а требовали подтверждения? Это нужно, чтобы обезопасить систему от случайного нажатия этих кнопок
|
Установите для этих задач таймер в секунд 5 и сможет отменить при случайном нажатии.
|
таймер не подходит ... чаще всего кнопки завершения работы или перезагрузки нажимают жена или сын, которым глубоко плевать на таймер ... кроме того, доподлинно понять, что ты случайно нажал, к примеру, на кнопку ребута, можно лишь тогда, когда система уйдет в перезагруз
|
Blast, за пять секунд человек вряд ли успеет набрать shutdown /a в командной строке :)
Цитата:
Вообще не понимаю смысла делать кнопки, а потом искать способ обойти случайное нажатие. Бонус: используйте режимы сна и гибернации! |
Цитата:
|
предлагаю не предлагать такие варианты решения проблемы как на фига тебе нужны эти кнопки, отдельные учетные записи и выбрось ты этот компьютер ... только по существу
|
Цитата:
Но раз вы требуете, то ответ по существу такой. В окне, которое выводит команда shutdown при перезагрузке/выключении, не предусмотрено кнопок для отмены операции. Ваша хотелка не имеет решения в столь жесткой постановке вопроса. Blast, +1 и LOL :) |
Код:
@echo off |
Заверните в cmd свои удобные команды и требуйте подтверждения. Пример:
Код:
@echo off |
Blast, шо, апять? :)
Вспомнил, как можно сделать красиво... ![]() |
сори, но я не такой продвинутый пользователь, чтобы разобраться как этот код завернуть в cmd ... нужно создать в текстовом редакторе файл с этим кодом и расширением .bat ?
|
amilak, именно.
|
Morpheus, спс, попробую разобраться, хотя, конечно, хотелось бы без сторонних утилит и гаджетов всяких обойтись
|
amilak, в случае с cmd/bat сторонние утилиты не нужны.
Сторонняя утилита используется только в сообщении 10, для "деланья красиво". |
Morpheus, тогда заодно нужно рассказать про автоперевод фокуса на запущенную программу.
Иначе количество кликов вкупе с нажатиями клавиш сравняется с тремя кликами, которые требуются для перезагрузки из меню Пуск :) Для выключения их уже столько же. |
сделал файл reboot.bat с кодом:
@echo off set /p answer=Выполнить перезагрузку? (Y/N): if %answer%==y shutdown -r -t 00 cls кошмар какой-то вышел, при нажатии появляется окно командной строки с текстом в виде абракадабры (по-видимому, это "Выполнить перезагрузку?" некорректно отображается) и предложением нажать Y/N ... слишком громоздко и долго ... есть масса утилит сторонних для завершения работы и ребута, но просто хотелось бы свои ярлыки с командами shutdown.exe -s -t 00 и shutdown.exe -r -t 00 настроить ... может, как-то нужно ключ запуска изменить ?! мне тут подсказывают, что нужно изменить таймаут, подтверждения не будет, но будет кнопка отмены, но я, честно говоря, не улавливаю смысл ... |
Vadikan, ты меня опередил :)
Вот смотрю я на все это и недоумеваю... amilak, я не хочу учить вас жизни или навязывать свое видение, но просто подумайте. Вы сделали ярлык для выключения компьютера в один клик - ок, мне сложно понять преимущества, но я принимаю, что вам это нужно. Теперь вы сделали тот же ярлык, но с подтверждением действия, что привело нас к двум кликам для выполнения операции (при условии использования варианта с nicmd). Собственно один клик - это нажатие кнопки Пуск и второй клик это нажатие кнопки Завершение работы, итого - два клика. Любите шорох орехов? :) Цитата:
Цитата:
|
Цитата:
|
Последний вариант... честно :)
Действия те же, только теперь код в текстовый файл и сохраните с расширением vbs Код:
Message = "Сейчас как перезагрузится..." & vbCR & vbCR Только помните, что WHS сценарии не умеют запрашивать повышение привилегий при включенном UAC |
После шестого поста я даже не сомневался, что в итоге все сведется к банальному VBS. Но на домашнем ПК его отличие от nircmd, лежащей в system32, трудно объяснить с точки зрения здравого смысла. В общем, как и...
|
Цитата:
|
А что тут пояснять? Если файл nircmd.exe скопировать в папку \Windows\Sysytem32\ то вариант из сообщения #10 будет наиболее красиво-недолгим исходя из ваших запросов. Но вы настаиваете на том, чтобы не использовать ничего стороннего, вот и непонятно почему.
|
Morpheus,
спасибо за совет, хорошая утилита ... позвольте для полной ясности уточнить: - в какой каталог лучше поместить файл nircmd.exe - Windows или System32 ? - как избавиться от каких-либо слов в верхней части окна (в Вашем скрине это "вопрос на засыпку"), если их просто стереть, то там прописывается идущее следом слово shutdown ? - какую команду прописать для перехода в режим сна (Win7 x64)? в справке к nircmd.exe таковой не нашел. спс |
amilak, пожалуйста :)
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Код:
nircmd.exe qbox "Перезагрузимся?" "" "shutdown.exe" -r -t 00 |
всем спасибо за ответы, в принципе разобрался и уже испробовал вновь созданные ярлыки "перезагрузки" и "завершения работы" (через nircmd.exe) ... но:
1. Morpheus кинул вот эту ссылку Как создать ярлыки для спящего режима или гибернации? , но там предлагается использовать утилиту PsShutdown. Но я уже заюзал nircmd.exe, все вполне устраивает, нельзя ли без PsShutdown обойтись (к слову сказать, пробовал ее до обращения на форум, не понравилась в силу ряда причин); 2. Можно ли что-то дописать в код перезагрузки (nircmd.exe qbox "Перезагрузимся?" "" "shutdown.exe" -r -t 00), чтобы после нажатия на кнопку "Нет" (на вопрос "Перезагрузимся?") появлялось еще одно окно с каким-либо текстом воспитательного значения типа "Больше так не шути". спс |
Цитата:
Nircmd тоже умеет отправлять в сон, причём тесты сейчас показывают, что делает это весьма корректно, учитывая переключатель гибридной спячки в Windows. Потестируйте кому не лень, Код:
nircmd standby Цитата:
|
Цитата:
|
возвращаясь к теме ... отличная утилита nircmd.exe, засунул ее в папку Windows 7 и в течение дня минувшего несколько раз испробовал ... но есть вопросец:
- Используемый мной код перезагрузки, который вчера здесь указывали Morpheus и Blast, таков: nircmd.exe qbox "Перезагрузимся?" "" "shutdown.exe" -r -t 00 Однако, в справке к утилите эта команда прописана иначе: nircmd.exe qboxcom "Перезагрузимся?" "question" exitwin reboot То же самое относится и к команде завершения работы (в конце вместо reboot прописать poweroff. Оба вида команд работают. Что оставить, какой вид команд корректнее: Этот: nircmd.exe qbox "Перезагрузимся?" "" "shutdown.exe" -r -t 00 (перезагрузка) или этот nircmd.exe qboxcom "Перезагрузимся?" "" exitwin reboot ??? |
amilak, оба варианта работают одинаково, оставляйте какой больше нравится :)
|
Цитата:
Цитата:
|
Цитата:
Эта: Код:
nircmd.exe qbox "Перезагрузимся?" "" "shutdown.exe" -r -t 00 Код:
nircmd.exe qboxcom "Перезагрузимся?" "" exitwin reboot |
Iska, сенкс
|
Время: 18:38. |
Время: 18:38.
© OSzone.net 2001-