Forum

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

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

PreviousPage 2 of 4Next

Я пока что разобрался, как отредактировать контекстное меню. Даже и не видел, что Вы потом ответили. Закончил только что. ))) 
И результаты меня очень радуют. Вот что получилось: 

Спойлер

Представляю сколько бы я часов затратил, если бы сам это контекстное меню создавал с ноля, руководствуясь инструкцией Андрея 
Но зато теперь знаю, как это делается. И что, за что отвечает. Это полезные знания, которые обязательно пригодятся и не один раз. 

Сейчас приступлю ко второму Вашему варианту.

У меня почему-то второй метод вообще не отрабатывает 

chcp 1251
reg add "HKCR\DesktopBackground\Shell\Shutdown" /v "Icon" /t reg_SZ /d "mmres.dll,8" /f >nul
reg add "HKCR\DesktopBackground\Shell\Shutdown" /v "MUIVerb" /t reg_SZ /d "Завершение работы" /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,265" /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

exit

Я вроде ничего не изменял. Возникает консоль cmd с надписью "Введите через сколько сек ПК выключится", пишу любое число, нажимаю Enter, окно окрашеватся в синий цвет и ничего не происходил. Оно не скрывается. Я всегда сохраняю любые cmd в ANSI кодировке. И вставляю Скопированоchcp 1251  для корректного отображения кирилицы, может это повлияло и неподходит в этом конкретном случаи? 

Спойлер

Попробуй сохранить в юникоде, по идее должно помочь.

Цитата: Андрей от 08.08.2022, 05:05

Попробуй сохранить в юникоде, по идее должно помочь.

Да нет - пробовал всевозможные UTF 16, 8, 7, 32 / LE ; BE, с BOM, без BOM - все варианты в AkelPad. Результат, кракозябры в контекстном меню. А функционал не появился. Скорее дело не в кодировке, а в том, что у меня что-то не работает на компе, как я полагаю.

Цитата: Azov от 08.08.2022, 05:16
Цитата: Андрей от 08.08.2022, 05:05

Попробуй сохранить в юникоде, по идее должно помочь.

Да нет - пробовал всевозможные UTF 16, 8, 7, 32 / LE ; BE, с BOM, без BOM - все варианты в AkelPad. Результат, кракозябры в контекстном меню. А функционал не появился. Скорее дело не в кодировке, а в том, что у меня что-то не работает на компе, как я полагаю.

Да, это я тупанул. Сейчас проверил - вставил в командную строку вот этот код:

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

И команда из контекстного меню заработала как и должна, сама по себе.

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

Ошибку удалось воспроизвести только при смене кодировок. Помогло удаление файла 1.bat с диска C. После этого всё снова заработало, как прежде.

Полный cmd продемонстрируйте, пожалуйста, что я не так делаю?

Многократно перепроверил на виртуалке. Запускаю командную строку от имени администратора (не файл .cmd, а саму командную строку), и копирую туда вот этот код (то, что составил @vladogold + твои редакции):

reg add "HKCR\DesktopBackground\Shell\Shutdown" /v "Icon" /t reg_SZ /d "mmres.dll,8" /f >nul
reg add "HKCR\DesktopBackground\Shell\Shutdown" /v "MUIVerb" /t reg_SZ /d "Завершение работы" /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,265" /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


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

После этого всё работает.

Всем привет .
Скачал бы уже давно утилиту, они ничего не весят, не мусорят, засунул в контекстное меню, и запускал бы ее оттуда, например poweroff, и т.д.

Мне запускать от имени администратора незачем. Я сижу под админским акком. У меня не работает, ни с самой командной строкой, ни с файла cmd. Похоже это проблема неразрешима в моём случаи. Вот то, что на диске C создаётся абсолютно не нужный файл 1 bat, это я заметил, но его удаление ни на что не влияет. Во всех случаях окно окрашивается в синий цвет и ничего не происходит

PreviousPage 2 of 4Next