создать простой таймер выключения из контекстного меню
Цитата: Андрей от 08.08.2022, 05:25Цитата: 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И команда из контекстного меню заработала как и должна, сама по себе.
Цитата: 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
И команда из контекстного меню заработала как и должна, сама по себе.
Цитата: Андрей от 08.08.2022, 05:39Ошибку удалось воспроизвести только при смене кодировок. Помогло удаление файла 1.bat с диска C. После этого всё снова заработало, как прежде.
Ошибку удалось воспроизвести только при смене кодировок. Помогло удаление файла 1.bat с диска C. После этого всё снова заработало, как прежде.
Цитата: --- НЛО --- от 08.08.2022, 05:43Полный cmd продемонстрируйте, пожалуйста, что я не так делаю?
Полный cmd продемонстрируйте, пожалуйста, что я не так делаю?
Цитата: Андрей от 08.08.2022, 05:48Многократно перепроверил на виртуалке. Запускаю командную строку от имени администратора (не файл .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После этого всё работает.
Многократно перепроверил на виртуалке. Запускаю командную строку от имени администратора (не файл .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
После этого всё работает.
Цитата: Mikhail от 08.08.2022, 05:55Всем привет .
Скачал бы уже давно утилиту, они ничего не весят, не мусорят, засунул в контекстное меню, и запускал бы ее оттуда, например poweroff, и т.д.
Всем привет .
Скачал бы уже давно утилиту, они ничего не весят, не мусорят, засунул в контекстное меню, и запускал бы ее оттуда, например poweroff, и т.д.
Цитата: --- НЛО --- от 08.08.2022, 05:57Мне запускать от имени администратора незачем. Я сижу под админским акком. У меня не работает, ни с самой командной строкой, ни с файла cmd. Похоже это проблема неразрешима в моём случаи. Вот то, что на диске C создаётся абсолютно не нужный файл 1 bat, это я заметил, но его удаление ни на что не влияет. Во всех случаях окно окрашивается в синий цвет и ничего не происходит
Мне запускать от имени администратора незачем. Я сижу под админским акком. У меня не работает, ни с самой командной строкой, ни с файла cmd. Похоже это проблема неразрешима в моём случаи. Вот то, что на диске C создаётся абсолютно не нужный файл 1 bat, это я заметил, но его удаление ни на что не влияет. Во всех случаях окно окрашивается в синий цвет и ничего не происходит
Цитата: --- НЛО --- от 08.08.2022, 06:18Цитата: Mikhail от 08.08.2022, 05:55Скачал бы уже давно утилиту, они ничего не весят, не мусорят, засунул в контекстное меню, и запускал бы ее оттуда, например poweroff, и т.д.Сейчас посмотрел на этот PowerOff. Столько хлама бесполезного вшито, мигать значком, срабатывать по двойному клику, сохранять лог и прочая, прочая чушь. Мне не надо срабатывать двойными, тройными и десятирными кликами, где-то мигать значками и всё это ещё логировать, архивировать, вибрировать, онанировать и.т.п - я хочу легко и быстро выключить компьютер, через нужное мне количество времени, только и всего. Быстро, без всяких хлопот, легко и просто.
Цитата: Mikhail от 08.08.2022, 05:55Скачал бы уже давно утилиту, они ничего не весят, не мусорят, засунул в контекстное меню, и запускал бы ее оттуда, например poweroff, и т.д.
Сейчас посмотрел на этот PowerOff. Столько хлама бесполезного вшито, мигать значком, срабатывать по двойному клику, сохранять лог и прочая, прочая чушь. Мне не надо срабатывать двойными, тройными и десятирными кликами, где-то мигать значками и всё это ещё логировать, архивировать, вибрировать, онанировать и.т.п - я хочу легко и быстро выключить компьютер, через нужное мне количество времени, только и всего. Быстро, без всяких хлопот, легко и просто.
Цитата: Mikhail от 08.08.2022, 06:20Ну так ты не пользуйся мишурой которая там есть, поставь галочку на "обратный отсчет", введи какое время тебе нужно, сверни, все, можешь идти по своим делам. Не надо смотреть на мишуру, куда еще проще то, тут столько же действий сколько и в CMD, открыл, ввел, свернул.
Ну так ты не пользуйся мишурой которая там есть, поставь галочку на "обратный отсчет", введи какое время тебе нужно, сверни, все, можешь идти по своим делам. Не надо смотреть на мишуру, куда еще проще то, тут столько же действий сколько и в CMD, открыл, ввел, свернул.
Цитата: --- НЛО --- от 08.08.2022, 06:54На мой взгляд проще не запускать какую то там программу, с избыточными функциями. А сделать это несколькими кликами из контекстного меню, а не захламлять компьютер программами, без которых можно обойтись вовсе. В любом случаи (абсолютно в любом) максимально просто будет воспользоваться контекстным меню. Этот вариант подойдёт и ребёнку и выжившему из ума старому маразматику. Абсолютно всем это будет предпочтительнее. Пусть я сегодня потрачу время на решение этой задачи, за то потом у меня это будет всегда. И я смогу поделиться этим с теми, кто в этом нуждается. Пока что у меня есть первый из предложенных вариантов Vlado, который позволяет мне выключить компьютер через заранее прописанное время. Который меня полностью устраивает.
[spoiler title=""]
[/spoiler]
Если к этому прибавится ещё и второй, где время можно будет задать во всплывающим окне, это ещё улучшит данный функционал. Не всякий раз можно бесплатно получить помощь профессионального программиста в решении своих прихотей. А вы мне пытаетесь втюхать какую то засратую программу. Простите за резкое высказывание, но вы крайне настойчивы, как будто лично заинтересованы в том, чтобы у меня ничего не получилось и пришлось скачивать какой-то хлам...
На мой взгляд проще не запускать какую то там программу, с избыточными функциями. А сделать это несколькими кликами из контекстного меню, а не захламлять компьютер программами, без которых можно обойтись вовсе. В любом случаи (абсолютно в любом) максимально просто будет воспользоваться контекстным меню. Этот вариант подойдёт и ребёнку и выжившему из ума старому маразматику. Абсолютно всем это будет предпочтительнее. Пусть я сегодня потрачу время на решение этой задачи, за то потом у меня это будет всегда. И я смогу поделиться этим с теми, кто в этом нуждается. Пока что у меня есть первый из предложенных вариантов Vlado, который позволяет мне выключить компьютер через заранее прописанное время. Который меня полностью устраивает.

Если к этому прибавится ещё и второй, где время можно будет задать во всплывающим окне, это ещё улучшит данный функционал. Не всякий раз можно бесплатно получить помощь профессионального программиста в решении своих прихотей. А вы мне пытаетесь втюхать какую то засратую программу. Простите за резкое высказывание, но вы крайне настойчивы, как будто лично заинтересованы в том, чтобы у меня ничего не получилось и пришлось скачивать какой-то хлам...
Цитата: Mikhail от 08.08.2022, 06:58А вы мне пытаетесь втюхать какую то засратую программу. Простите за резкое высказывание, но вы крайне настойчивы, как будто лично заинтересованы в том, чтобы у меня ничего не получилось и пришлось скачивать какой-то хлам...
Совсем не так, просто я придерживаюсь правилам, если уже есть софт, зачем его создавать, даже пусть он с избытком напичкан, но тебя никто не заставляет использовать мишуру вот и все.
А суть программы и cmd одна и та же.
Сейчас я напишу простую софтину, мин 10( или попозже, работа подъехала)
А вы мне пытаетесь втюхать какую то засратую программу. Простите за резкое высказывание, но вы крайне настойчивы, как будто лично заинтересованы в том, чтобы у меня ничего не получилось и пришлось скачивать какой-то хлам...
Совсем не так, просто я придерживаюсь правилам, если уже есть софт, зачем его создавать, даже пусть он с избытком напичкан, но тебя никто не заставляет использовать мишуру вот и все.
А суть программы и cmd одна и та же.
Сейчас я напишу простую софтину, мин 10( или попозже, работа подъехала)
Цитата: XpucT от 08.08.2022, 09:20Azov, приветствую 🖐
А Я вот со стороны смотрю и не вижу того, что видите Вы. Мало того, что не вижу навязывание мусора, так ещё и вижу, что лично для себя бы сделал вообще так, чтобы был лишь 1 пункт в контекстном меню и это вызывало симпатичное мини-окошечко, где просто вводишь цифры (минуты) и и жмёшь OK / Enter, всё. Вместо 1000 пунктов. И, если следовать Вашей логике, эти как раз Ваши батники для друзей в будущем – это втюхивание костылей и мусора, вместо красиво и просто написанной мини-утилиты.Но всё это сказано не для того, чтобы поспорить о том, кому и что лучше, а для того, чтобы Вы сдержаннее выражались, ибо можете оказаться не правы. На нашем сайте есть даже правило специальное – не отвечать пользователю своими свистелками-перделками. То есть если чел спрашивает про XBox, не нужно ему советовать PlayStation. Это запрещено. И Вы случайно увидели в сообщении Mikhail именно это. Но поверьте администрации, пользователь с плашкой Высшей репутации на этом сайте, когда даёт рекомендацию или совет, его невозможно трактовать как навязывание чего-то альтернативного, т.к. он смотрит действительно сквозь свой опыт и опыт других людей здесь на сайте. Проверено временем. Поверьте и Вы. Вам стараются помочь.
Azov, приветствую 🖐
А Я вот со стороны смотрю и не вижу того, что видите Вы. Мало того, что не вижу навязывание мусора, так ещё и вижу, что лично для себя бы сделал вообще так, чтобы был лишь 1 пункт в контекстном меню и это вызывало симпатичное мини-окошечко, где просто вводишь цифры (минуты) и и жмёшь OK / Enter, всё. Вместо 1000 пунктов. И, если следовать Вашей логике, эти как раз Ваши батники для друзей в будущем – это втюхивание костылей и мусора, вместо красиво и просто написанной мини-утилиты.
Но всё это сказано не для того, чтобы поспорить о том, кому и что лучше, а для того, чтобы Вы сдержаннее выражались, ибо можете оказаться не правы. На нашем сайте есть даже правило специальное – не отвечать пользователю своими свистелками-перделками. То есть если чел спрашивает про XBox, не нужно ему советовать PlayStation. Это запрещено. И Вы случайно увидели в сообщении Mikhail именно это. Но поверьте администрации, пользователь с плашкой Высшей репутации на этом сайте, когда даёт рекомендацию или совет, его невозможно трактовать как навязывание чего-то альтернативного, т.к. он смотрит действительно сквозь свой опыт и опыт других людей здесь на сайте. Проверено временем. Поверьте и Вы. Вам стараются помочь.
Цитата: Mikhail от 08.08.2022, 09:38Время появилось на AHK написал, можете попробовать(Скриншот)(может плашку по уже сделать ¯\_(ツ)_/¯)
Вводить в секундах и нажимать Enter(не на numpad`е)
При активном окне утилиты, и нажатии "ESC" отменяет выключение(если вдруг не то ввели или нужно другое время).
Время появилось на AHK написал, можете попробовать(Скриншот)(может плашку по уже сделать ¯\_(ツ)_/¯)
Вводить в секундах и нажимать Enter(не на numpad`е)
При активном окне утилиты, и нажатии "ESC" отменяет выключение(если вдруг не то ввели или нужно другое время).
Цитата: Mikhail от 08.08.2022, 09:54Это только выключатель ПК, я просто показал как можно было бы сделать, проще и красивей.
И прошу простить меня за бестактность.
Все нормально👍
Это только выключатель ПК, я просто показал как можно было бы сделать, проще и красивей.
И прошу простить меня за бестактность.
Все нормально👍