По поводу PP в качестве шела.
Зачем прописывать в PPShell.cmd в
HKLM/Software/Microsoft/Windows NT/CurrentVersion/Winlogon/Shell?
Для того, чтобы предотвратить запуск Explorer'а? Для этой цели
в списке HookWindowEvents (если его у вас нет – создайте) заведи элемент с любым названием (у меня – "Explorer killer" )
в поле "Enter more commands..." введите следующий скрипт:
if (index(arg(3),"Shell_TrayWnd")) do
Window Closeforce =explorer
endif
и тогда всякий раз, как Эксплорер с треем, таскманом и кнопкой "Пуск" попытается загрузиться из-за, например, инсталлятора какой-нибудь программы – не долго ему жить... Но – только под вашим сеансом: все остальные юзвери на вашем компе будут юзать Эксплорер, как и прежде... (проводник будет запускаться, как и прежде – его скрипт не рубит).
Ведь Эксплорер нужен
в HKLM/Software/Microsoft/Windows NT/CurrentVersion/Winlogon/Shell
потому что это оболочка для всех остальных юзверей, а о них заботиться сам Бог велел .
PPShell.cmd не нужно самому прописывать в
HKCY/Software/Microsoft/Windows NT/CurrentVersion/Winlogon/Shell –
PPasShellSetup сделает это сама. PPasShellSetup – просто инсталятор, не более того, который извлекает из себя старую забытую многими разработку не помню уже кого, – systray99.exe. И прописывает запуск этого exe в PPShell.cmd, который создаёт сама же, на лету, на основе запроса у пользователя о папке, где расположена PP.
Можно поподробнее о тех прогах, которые "не умеют скрываться в трее"?
Я уже более 1,5 года сижу на PP вместо Эксплорера и не могу понять, о чём это Вы.
Лингву, Nod32, Outpost можно прописать в автозагрузке PP и они будут грузиться в трей, как обычно. Единственное чего не хватает – значка сетки и значка громкости. Но 1-ое я беру в тотале, а вместо 2-го у меня скрипт по шоткату (громкость регулируется, как на Телеке, с прорисовкой рисок уровня на экране)
А вот замена Эксплореровскому таскману. Ключевая особенность: длина панели фиксированной длины, а длина каждой AB (active buttons – кнопки активных окон) высчитывается скриптом ниже при появлении или уничтожении окон. На новой PP (v. 4.8.0.0) появилась возможность считать количество AB. Я реализовал следующий скрипт – Hook.powerpro, который запускается у меня в том же HookWindowEvents командой .hook:
Код:
; в автозагрузке PP у меня: global ABCount=0
ABcountC=cl.getactivebuttons("Bar-Main") ;; how many AB we have
if (ABcountC==0)
ABcountC=1 ;; if ABcountC is empty yet, for not "divide by zero" to happen in str. 8
if (ABcount == ABCountC) ;; quit if equal
Quit
*Script if (ABcountC != ABCount) do
cl.SetWidth("Bar-Main", 2, 500/ABcountC) ;; 500px – это у меня до панели info-bar в центре экрана
;а 2 – номер последней иконки, св-ва которой у меня определяют свойства всех AB
ABCount=ABcountC
;cl.Redisplay("Bar-Main")
;cl.Compact()
endif
Зачем прописывать в PPShell.cmd в
HKLM/Software/Microsoft/Windows NT/CurrentVersion/Winlogon/Shell?
Для того, чтобы предотвратить запуск Explorer'а? Для этой цели
в списке HookWindowEvents (если его у вас нет – создайте) заведи элемент с любым названием (у меня – "Explorer killer" )
в поле "Enter more commands..." введите следующий скрипт:
if (index(arg(3),"Shell_TrayWnd")) do
Window Closeforce =explorer
endif
и тогда всякий раз, как Эксплорер с треем, таскманом и кнопкой "Пуск" попытается загрузиться из-за, например, инсталлятора какой-нибудь программы – не долго ему жить... Но – только под вашим сеансом: все остальные юзвери на вашем компе будут юзать Эксплорер, как и прежде... (проводник будет запускаться, как и прежде – его скрипт не рубит).
Ведь Эксплорер нужен
в HKLM/Software/Microsoft/Windows NT/CurrentVersion/Winlogon/Shell
потому что это оболочка для всех остальных юзверей, а о них заботиться сам Бог велел .
PPShell.cmd не нужно самому прописывать в
HKCY/Software/Microsoft/Windows NT/CurrentVersion/Winlogon/Shell –
PPasShellSetup сделает это сама. PPasShellSetup – просто инсталятор, не более того, который извлекает из себя старую забытую многими разработку не помню уже кого, – systray99.exe. И прописывает запуск этого exe в PPShell.cmd, который создаёт сама же, на лету, на основе запроса у пользователя о папке, где расположена PP.
Можно поподробнее о тех прогах, которые "не умеют скрываться в трее"?
Я уже более 1,5 года сижу на PP вместо Эксплорера и не могу понять, о чём это Вы.
Лингву, Nod32, Outpost можно прописать в автозагрузке PP и они будут грузиться в трей, как обычно. Единственное чего не хватает – значка сетки и значка громкости. Но 1-ое я беру в тотале, а вместо 2-го у меня скрипт по шоткату (громкость регулируется, как на Телеке, с прорисовкой рисок уровня на экране)
А вот замена Эксплореровскому таскману. Ключевая особенность: длина панели фиксированной длины, а длина каждой AB (active buttons – кнопки активных окон) высчитывается скриптом ниже при появлении или уничтожении окон. На новой PP (v. 4.8.0.0) появилась возможность считать количество AB. Я реализовал следующий скрипт – Hook.powerpro, который запускается у меня в том же HookWindowEvents командой .hook:
Код:
; в автозагрузке PP у меня: global ABCount=0
ABcountC=cl.getactivebuttons("Bar-Main") ;; how many AB we have
if (ABcountC==0)
ABcountC=1 ;; if ABcountC is empty yet, for not "divide by zero" to happen in str. 8
if (ABcount == ABCountC) ;; quit if equal
Quit
*Script if (ABcountC != ABCount) do
cl.SetWidth("Bar-Main", 2, 500/ABcountC) ;; 500px – это у меня до панели info-bar в центре экрана
;а 2 – номер последней иконки, св-ва которой у меня определяют свойства всех AB
ABCount=ABcountC
;cl.Redisplay("Bar-Main")
;cl.Compact()
endif