PDA

Показать полную графическую версию : Запуск батника при любом завершении сеанса


Alexander_88
12-05-2016, 21:47
Здравствуйте, подскажите, пожалуйста как можно сделать так, чтобы при любом отключении сеанса (кроме блокировки), т.е. завершении сеанса, ждущем режиме, сон, перезагрузка, гибернизация, завершение работы............... перед любым из этих действий происходил запуск и выполнение батника.

Сейчас все объясню для чего это, возможно можно как то проще все сделать.

Цель: Сделать запуск скрытых ярлыков по горячим клавишам (быстрый вызов в свойствах ярлыка). Дело в том что либо есть баг в windows либо так и должно работать вот что... Когда назначаешь просто ярлыку на рабочем столе горячую клавишу, все работает, при перезагрузке компьютера также все работает. У меня много программ с горячими клавишами... если все эти ярлыки будут маячить на рабочем столе, то от рабочего стола не останется живого места. Естественно мне такие ярлыки нужно скрывать (свойство ярлыка - "скрыть"). Но тут появляется проблема....... Я назначаю горячую клавишу, скрываю ярлык, проверяю, все работает... но после перезагрузки компьютера горячие клавиши перестают действовать. Если к примеру опять убрать ф-цию "скрыть" в ярлыках, опять перезагрузиться, все нормально работает. Видимо как только пользователь заходит в систему Windows как - то считывает эти ярлыки на рабочем столе и их горячие клавиши... если эти ярлыки скрыты, то windows не может их найти и загрузить горячую клавишу для их вызова. Я поставил в автозагрузку батник. Который при входе пользователя будет скрывать ярлыки на рабочем столе (т.е. изначально они видны). Таким образом все работает. Но эти ярлыки при запуске именно должны быть НЕ скрыты, чтобы windows прочла их горячие клавиши. Поэтому осталось сделать так, чтобы при любом завершении сеанса (описано выше) эти ярлыки появлялись. Потом при заходе они будут скрываться, чтобы пока пользователь работает они не маячили на рабочем столе, потом как пользователь выйдет, они опять появятся и т.д. Пробовал через планировщик задач (триггер "При отключении от пользовательского сеанса") - не работает, при блокировке работает, но это не подходит. Еще было бы хорошо запускать батник (который снимает скрытость с ярлыков) при включении компьютера, но чтобы это действие по приоритету было самым ранним. Пробовал также через планировщик (триггер "При входе в систему" - батник вроде запускается, ярлыки появляются, но быстрый вызов по горячим клавишам не работает. Это значит, что Windows быстрее считала информацию ярлыков с рабочего стола, чем они появились......... также пробовал триггер "При запуске" - он либо не работает, либо работает, но быстрый вызов ярлыков все равно не работает.

Казбек
12-05-2016, 22:38
Alexander_88,
В строке Выполнить:
gpedit.msc

http://i.imgur.com/3SgXsla.png

Завершение работы - Сценарий - Добавить: добавляете свой .bat файл.

Подробнее - Create System Startup / Shutdown and User Logon / Logoff Scripts (https://technet.microsoft.com/en-us/magazine/dd630947.aspx).

Iska
12-05-2016, 23:01
Казбек, разве для ждущего режима или гибернации сие отработает?

Казбек
12-05-2016, 23:06
разве для ждущего режима или гибернации сие отработает? »

Так должно сработать (https://social.technet.microsoft.com/Forums/windows/en-US/a5f9d579-00c7-49fd-9bf4-a13ef1a01c93/task-scheduler-on-laptop-lid-close?forum=w7itproui).

Кстати, таким же путем с помощью планировщика можно сделать и для выключения, только Event ID будет 513.
The Event Log service, on behalf of the Local Security Authority, logs this event when it is notified that Windows is shutting down. (https://www.microsoft.com/technet/support/ee/transform.aspx?ProdName=Windows%20Operating%20System&ProdVer=5.0&EvtID=513&EvtSrc=Security&LCID=1033)

Alexander_88
13-05-2016, 00:49
Спасибо, 42 работает, для сна, 513 не работает, сейчас смотрю есть ли код события выход из сеанса пользователя

Iska
13-05-2016, 01:21
Так должно сработать. »
Так — да.

Мне просто кажется, что автору, вместо громождения всех этих костылей Пелиона на Оссу, проще было бы завести себе какой-нибудь менеджер приложений типа True Launch Bar или, на худой конец, менеджер горячих клавиш.

Alexander_88
13-05-2016, 02:14
В общем как бы все и работает, но цели своей я не добился. По первому ответу, через редактор групповой политики нашел "выход из системы", добавил сценарий (свой батник). При выходе из системы ярлыки были скрыты, при входе из системы они НЕ были скрыты, т.е. батник сработал при завершении сеанса и убрал галочку "скрыть" с ярлыка. Также через планировщик нашел события перезагрузки, ждущий режим. Все работает, батники запускаются после событий. НО этот чертов "быстрый вызов" не работает после входа вновь в систему/перезагрузки/выключении и т.д., хоть убей его. Он работает только в случае, если я самолично перед этими действиями (выключение/выход из сеанса/перезагрузка и т.д.) зайду в свойство ярлыка и сниму галочку "скрыть", либо перед этими действиями (выключение/выход из сеанса/перезагрузка и т.д.) самолично запущу тот же батник, который убирает галочку "скрыть" с ярлыка.
И главное хоть бы сделали так, чтобы можно было в другое место засунуть эти ярлыки, чтобы не засорять рабочий стол... нет же, элементарно папку на рабочем столе создал, туда переместил этот ярлык и все.. капец, быстрый вызов уже не работает, только в корне рабочего стола работает :o
Видимо не решить казалось бы очень простенькую проблему (простое назначение горячих клавиш) в Windows 10 pro, без стороннего софта. А есть ли софт который бы работал без инсталяции? для назначения горячих клавиш

Казбек
13-05-2016, 11:10
А есть ли софт который бы работал без инсталяции? для назначения горячих клавиш »
AutoHotkey Portable (http://www.softpedia.com/get/PORTABLE-SOFTWARE/System/System-Enhancements/AutoHotkey-Portable.shtml)




© OSzone.net 2001-2012