Forum

Пожалуйста or Регистрация для создания сообщений и тем.

создать простой таймер выключения из контекстного меню

Page 1 of 4Next

Бонжур! 
Есть команды shutdown:

Компьютер будет выключен через:
Скопированоshutdown -s -t 10
Выключение будет приостановлено
Скопированоshutdown -a
Все приложения будут принудительно закрыты
Скопированоrem shutdown -f

Нельзя ли их как то изящно вмонтировать в контекстное меню, дабы выключать компьютер через определённое время, не прибегая к установкам дополнительного софта, обходясь штатными средствами Windows? (Без заморочек открытия какой-то программы и ковыряясь в ней минуты 3, чтобы что-то там настроить и в итоге компьютер не выключается, потому что программа не смогла завершить работающие процессы)

Час добрый!
У Хачатура на эту тему было чрезвычайно полезное видео. Полагаю, при необходимости можно просто скомпилировать этим софтом bat'ники со всеми необходимыми командами, обозвать их как-нибудь и запихать в контекстное меню с помощью редактора реестра.

admin и Удаленный пользователь отреагировали на эту запись.
adminУдаленный пользователь

Разобраться как это влепить в контекстное меню, мне жизни не хватит. А для подобной компиляции я прежде пользовался Bat To Exe Converter, там есть возможность выбрать разрядность, запуск в скрытом режиме, поставить иконку и многое другое...

Цитата: Azov от 08.08.2022, 00:06

Разобраться как это влепить в контекстное меню, мне жизни не хватит. 

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

Удаленный пользователь отреагировал на эту запись.
Удаленный пользователь

Иконку и прочее можно с помощью Resource Hacker'а влепить какую захочешь, или указать прямо в реестре. Если не хочется пользоваться дополнительным софтом - собираешь bat'ник, компилируешь, далее заходишь в [simple_tooltip content='Пуск ➜  Выполнить ➜  regedit']редактор реестра[/simple_tooltip], и по пути СкопированоHKEY_CLASSES_ROOT\DesktopBackground\Shell (если именно в контекстном меню Рабочего стола нужно) создаёшь папку, обзываешь её как угодно. В ней самой должно быть 3 строковых параметра (REG_SZ). По умолчанию - название. Вторую и третью назови Icon и Position. В Icon указываешь путь до иконки, в Position - предпочтительное положение (top - сверху, bottom - снизу, и т. п.). У неё так же должна быть подпапка под названием command, строковое значение в которой должно быть маршрутом до исполнительного файла (твоего скомпилированного bat'ника). Вот результат. Ещё раз - упомянутый выше маршрут в реестре именно для добавления пункта в контекстное меню рабочего стола, у проводника, например, другой маршрут.

Удаленный пользователь и Удаленный пользователь отреагировали на эту запись.
Удаленный пользовательУдаленный пользователь

Спасибо большое  Андрей и не подозревал, что такое существует. Буду изучать. Это очень полезный софт

Доброго

reg add "HKCR\DesktopBackground\Shell\Shutdown" /v "Icon" /t reg_SZ /d "" /f >nul
reg add "HKCR\DesktopBackground\Shell\Shutdown" /v "MUIVerb" /t reg_SZ /d "Shutdown" /f >nul
reg add "HKCR\DesktopBackground\Shell\Shutdown" /v "Position" /t reg_SZ /d "Bottom" /f >nul
reg add "HKCR\DesktopBackground\Shell\Shutdown" /v "SeparatorAfter" /t reg_SZ /d "" /f >nul
reg add "HKCR\DesktopBackground\Shell\Shutdown" /v "Subcommands" /t reg_SZ /d "" /f >nul

reg add "HKCR\DesktopBackground\Shell\Shutdown\Shell\OffTime" /ve /t reg_SZ /d "Компьютер будет выключен через ..." /f >nul
reg add "HKCR\DesktopBackground\Shell\Shutdown\Shell\OffTime" /v "Icon" /t reg_SZ /d "shell32.dll,-28" /f >nul
reg add "HKCR\DesktopBackground\Shell\Shutdown\Shell\OffTime\command" /ve /t reg_SZ /d "shutdown -s -t 10" /f >nul

reg add "HKCR\DesktopBackground\Shell\Shutdown\Shell\StopOff" /ve /t reg_SZ /d "Приостановить выключение" /f >nul
reg add "HKCR\DesktopBackground\Shell\Shutdown\Shell\StopOff" /v "Icon" /t reg_SZ /d "imageres.dll,-1022" /f >nul
reg add "HKCR\DesktopBackground\Shell\Shutdown\Shell\StopOff\command" /ve /t reg_SZ /d "shutdown -a" /f >nul

reg add "HKCR\DesktopBackground\Shell\Shutdown\Shell\CloseApplication" /ve /t reg_SZ /d "Закрыть принудительно приложения" /f >nul
reg add "HKCR\DesktopBackground\Shell\Shutdown\Shell\CloseApplication" /v "Icon" /t reg_SZ /d "shell32.dll,-240" /f >nul
reg add "HKCR\DesktopBackground\Shell\Shutdown\Shell\CloseApplication\command" /ve /t reg_SZ /d "shutdown -f" /f >nul

СкопированоHKEY_CLASSES_ROOT\DesktopBackground\Shell- к. меню раб. стола
СкопированоIcon - путь к иконке
СкопированоMUIVerb- название пункта
СкопированоPosition- позиция (top,bottom,center)
СкопированоSeparatorAfter/SeparatorBefore - сепаратор после/перед
СкопированоSubcommands- выпадающий список
Menu

admin, Удаленный пользователь и ещё 4 отреагировали на эту запись.
adminУдаленный пользовательУдаленный пользовательУдаленный пользовательУдаленный пользовательУдаленный пользователь

Спасибо Огромное Vlado. Это просто великолепно. Есть только один минус, невозможно добавить своё время, в тот момент, когда кликаешь по пункту контекстного меню. Но я думаю, решу это с помощью добавления туда 20 разных пунктов с вариантами через 5 минут, 10, 15, 20, 30, 40, 50, 1час, 2 часа, 3 часа, 4 часа. )))

Ещё раз спасибо и низкий поклон до земли, за проделанную работу и за такой замечательный образец, уже с наглядным исполнением! Восхитительно!

admin отреагировал на эту запись.
admin
Цитата: Azov от 08.08.2022, 00:55

Есть только один минус, невозможно добавить своё время, в тот момент, когда кликаешь по пункту контекстного меню.
решу это с помощью добавления туда 20 разных пунктов

Не следует
В CMD вот [simple_tooltip content='пришлось с этим, конечно, повозиться нехило']это[/simple_tooltip] вставьте

reg add "HKCR\DesktopBackground\Shell\Shutdown\Shell\OffTime\command" /v "" /t REG_SZ /d "cmd.exe /cecho @echo off >> C:\1.bat&echo set \"varA=\" >>C:\1.bat&echo echo Введите через сколько сек ПК выключится>>C:\1.bat&echo set /p \"varA=\" >>C:\1.bat&echo shutdown -s -t %%%%varA%%%%>>C:\1.bat&echo exit>>C:\1.bat&start C:\1.bat" /f >nul

Всегда вводите нужное кол-во секунд Вам

reg add "HKCR\DesktopBackground\Shell\Shutdown\Shell\OffTime\command" /v "" /t REG_SZ /d "cmd.exe /cecho @echo off >> C:\1.bat&echo set \"varA=\" >>C:\1.bat&echo echo Введите через сколько сек ПК выключится>>C:\1.bat&echo set /p \"varA=\" >>C:\1.bat&echo shutdown -s -t %%varA%%>>C:\1.bat&echo exit>>C:\1.bat&start C:\1.bat" /f >nul

Опечатка выше

Page 1 of 4Next