Как можно скрыть программу с панели задач?
|
|
buy | Дата: Четверг, 17 Июля 2008, 13:52 | Сообщение # 1 |
Новый участник
Группа: Пользователи
Сообщений: 11
Репутация: 0
Награды: 0
Статус: Offline
| Вообщем проблема оч. серьезная мне надо что бы программа была не видна на панели задач (taskbar)... Если использовать функцию Windows Desktop Component то когда мне нужно переместить окно поверх всех окон то команда SysCommand("AlwaysOnTop","") уже не работает((( Как быть??? Можно ли как нибуть не используя функцию Windows Desktop Component скрыть программу с панели задач (taskbar)? Возможно модули или плагины, или проще как то... В основном мешается taskbar, если использовать Windows Desktop Component и модуль что б скрыть ( качаем отсюда+исходник: Скачать Code ) Использую такой код (что на С++ что на Delphi код тот же): ShowWindow(FindWindow('Shell_TrayWnd', nil), sw_hide); Он скрывает ПУСК и вроде бы все ok только вот проект должен работать и под висту а там панель убирается а вот ПУСК остается... Была еще мысль использовать SetWindowLong(Application.Handle,GWL_EXSTYLE,GetWindowLong(Application.Handle,GWL_EXSTYLE) что бы скрыть программу только вот как эту функцию внедрить в проект mmb?
|
|
| |
as-master | Дата: Четверг, 17 Июля 2008, 15:18 | Сообщение # 2 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Да, встроенные средства не помогут. Раз скомпилирована как компонент рабочего стола - уже по определению не может быть поверх остальных окон: ведь это же как бы часть рабочего стола! Такой режим следует использовать, например, при создании скринсейвера. А чтобы иконку на панели зада скрыть - вроде кто-то из клуба делал то ли плагин то ли модуль. Вот toizy здесь появится - отвтит. Вроде бы делал он такую фичу.
Да пребудет с вами ММВ!
|
|
| |
buy | Дата: Четверг, 17 Июля 2008, 16:51 | Сообщение # 3 |
Новый участник
Группа: Пользователи
Сообщений: 11
Репутация: 0
Награды: 0
Статус: Offline
| Да нашел я этот плагин))) правда работает он по тому же принцепу (вроде) Все нормально, но вот если применить из проекта mmb функцию SysCommand("AlwaysOnTop","") то снова панель убирается а вот ПУСК остается... Думаю все же надо как то кнопку пуск убрать и панель, есть функция ShowWindow(FindWindowEx(FindWindow('Shell_TrayWnd',nil),0,'Button','Start'), SW_HIDE) но это то же не спасает, только для XP подробнее про функции [url=http://msdn.microsoft.com/en-us/library/ms633500(VS.85).aspx]тут[/url] А вот тут) да же с примером как то решили проблему правда ни фига не понял)) Лан ждем toizy'а)))
|
|
| |
toizy | Дата: Четверг, 17 Июля 2008, 17:30 | Сообщение # 4 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (buy) ShowWindow(FindWindow('Shell_TrayWnd', nil), sw_hide); это скроет панель залдач Quote (buy) SetWindowLong(Application.Handle,GWL_EXSTYLE,GetWindowLong(Application.Handle,GWL_EXSTYLE) это скроет кнопку приложения на панели задач я как-то и не понял, что ты хочешь. или скрыть кнопку своего приложения, или скрыть ваще всю панель...Добавлено (17 Июль 2008, 17:30) --------------------------------------------- так... начинаю врубаться... тебе надо скрыть кнопку и одновременно использовать AlwaysOnTop?
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
buy | Дата: Четверг, 17 Июля 2008, 17:42 | Сообщение # 5 |
Новый участник
Группа: Пользователи
Сообщений: 11
Репутация: 0
Награды: 0
Статус: Offline
| Quote так... начинаю врубаться... тебе надо скрыть кнопку и одновременно использовать AlwaysOnTop? да точно)) Только вот используя ShowWindow(FindWindow('Shell_TrayWnd', nil), sw_hide); оно скрывает панель задач, но пуск остается висеть см. прикрепеленый выше файл не работает на висте да же если писать ShowWindow(FindWindowEx(FindWindow('Shell_TrayWnd',nil),0,'Button','Start')
|
|
| |
toizy | Дата: Четверг, 17 Июля 2008, 17:51 | Сообщение # 6 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| забудь про панель... куда лучше напрячься, и таки скрыть кнопку даже с "повер всех". z подумаю сегодня дома... ок?
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
buy | Дата: Четверг, 17 Июля 2008, 18:42 | Сообщение # 7 |
Новый участник
Группа: Пользователи
Сообщений: 11
Репутация: 0
Награды: 0
Статус: Offline
| ok, спасибо Добавлено (17 Июль 2008, 18:42) --------------------------------------------- Только вот да же если тебе и получится сделать поверх окон, появляется еще одна проблема нехотелось, что бы окно можно было перемещать между другими окнами, все же Windows Desktop Component это хорошая вещь))) проект как бы заблокирован на одном уровне и его нельзя перетащить по верх другого окна, если сможешь попробуй добавить в плагин что то наподобее блокировки окна на одном уровне))) спс
|
|
| |
toizy | Дата: Четверг, 17 Июля 2008, 18:49 | Сообщение # 8 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| а чё делаешь-то? поделись...
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
buy | Дата: Четверг, 17 Июля 2008, 19:58 | Сообщение # 9 |
Новый участник
Группа: Пользователи
Сообщений: 11
Репутация: 0
Награды: 0
Статус: Offline
| Да вообщем видео плеер) правда не доделано много еще чего.. но там это только мелочи, единственная проблема с плагином(( Вообщем сам плеер полностью прозрачный, прозрачность добился с помощью скриншота т.е вначале идет скриншот изображения рабочего стола и на него уже потом накладывается все остальные кнопки... так вот если окно будет легко переместить по рабочему столу или переместить вверх другого она то все глюки сразу на лицо))) поэтому использовал Windows Desktop Component, но вот видео нужно развернуть (использую не стандартную функцию) а VideoParam("video","ScreenWidth()+X,ScreenHeight()+Y") SysCommand("ResizeWindow","ScreenWidth(),ScreenHeight()") это все для того что бы можно было масштабировать видео и увеличивать его, и сразу снова нюанс при развертывании появляется панель задач (пуск) поэтому выход только: 1) Оставить Windows Desktop Component и спрятать панель задач, что в висте особо не выходит из-за кнопки старт(пуск) 2) Или же заблокировать окно(сделать его всегда на уровне ниже всех остальных программ) и спрятать окно с панели
|
|
| |
as-master | Дата: Пятница, 18 Июля 2008, 14:56 | Сообщение # 10 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Ну что, разобрались? Кто запостит резюме, как все это делать? Или, еще лучше, в раздел Готовые ответы по ММВ.
Да пребудет с вами ММВ!
|
|
| |
buy | Дата: Пятница, 18 Июля 2008, 16:34 | Сообщение # 11 |
Новый участник
Группа: Пользователи
Сообщений: 11
Репутация: 0
Награды: 0
Статус: Offline
| Quote (as-master) Ну что, разобрались? Да еще пока не совсем... но уже близко к развязке toizy насчет расположения ниже всех остальных, это как то так правда не знаю какой TOP ставить) Code function SetTopmost(const WndCaption, WndClass: string): boolean; var hWnd: THandle; Rect: TRect; begin Result:=false; hWnd:=FindWindow(Pchar(WndClass),Pchar(WndCaption)); if hWnd = 0 then Exit; GetWindowRect(hWnd,Rect); Result:=SetWindowPos(hWnd, хз какой TOP ,Rect.Left, x.Top, Rect.Right - Rect.Left, Rect.Bottom - x.Top, SWP_SHOWWINDOW); end; Quote Кто запостит резюме, как все это делать? Или, еще лучше, в раздел Готовые ответы по ММВ. обязательно запостим и все в подробностях и с примерами...
|
|
| |
as-master | Дата: Пятница, 18 Июля 2008, 17:00 | Сообщение # 12 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (buy) обязательно запостим и все в подробностях и с примерами... Good
Да пребудет с вами ММВ!
|
|
| |
toizy | Дата: Пятница, 18 Июля 2008, 19:20 | Сообщение # 13 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| чёй-то ты цитатами то с дельфей, то с сисек... Всё равно никак иначе, чем через плагин не прикрутишь... а у мну времени не было, да и не будет, наверное, на этих выходных.. по крайней мере... даж за комп не сяду. увы! жду понедельнега
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
buy | Дата: Пятница, 18 Июля 2008, 19:56 | Сообщение # 14 |
Новый участник
Группа: Пользователи
Сообщений: 11
Репутация: 0
Награды: 0
Статус: Offline
| Quote (toizy) чёй-то ты цитатами то с дельфей, то с сисек... Сам не знаю... Ну вообщем с вистой и кнопкой "Старт (Пуск)" разобрался вот все работает скачать скрывается и пуск и панель задач))
|
|
| |
Alex3A | Дата: Пятница, 18 Июля 2008, 20:55 | Сообщение # 15 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Обычно, в панели задач висит апликейшен, а на экране форма, в таких случаях апликейшен задавить не проблема, но тут несколько иной коленкор, чет я отдельно апликейшена не наблюдаю, видимо все в нем и наваяли, сиськами мелкософтовскими, со всякими мсф. Ведь, я так думаю, что идеальный случай убрать из панели задач, или ты преследуешь иную цель - перекрыть юзеру кислород? P.S. Что за приколы, что не умеешь приатачить файл на форуме? На депозит выложил, 16к "подождите 100 секунд".
|
|
| |
Serg | Дата: Понедельник, 26 Июля 2010, 16:15 | Сообщение # 16 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Вроде бы есть плагин чтобы скрыть приложение из панели задач, как он называется? Подскажите пожалуйста.
|
|
| |
Alex3A | Дата: Понедельник, 26 Июля 2010, 19:19 | Сообщение # 17 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (Serg) Вроде бы есть плагин чтобы скрыть приложение из панели задач, как он называется? Подскажите пожалуйста. А оно то тебе надо? Окно минимизируеш и больше его не поднимеш.
|
|
| |
Serg | Дата: Понедельник, 26 Июля 2010, 19:52 | Сообщение # 18 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Программа будет показывать загрузку ЦП (светодиодами через LPT) На панели будет мешаться.
|
|
| |
Sower | Дата: Вторник, 27 Июля 2010, 04:15 | Сообщение # 19 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Quote (Serg) Программа будет показывать загрузку ЦП (светодиодами через LPT) На панели будет мешаться. Сделай компанентом раб стола хотябы. Спойлер удалён лично мною. Зачем такое говорить... - Yuriy
|
|
| |
Serg | Дата: Среда, 28 Июля 2010, 22:12 | Сообщение # 20 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Quote Сделай компанентом раб стола хотябы. Нет, не нравится этот вариант. Видел плагин, но не помню название.Добавлено (28 Июль 2010, 22:12) --------------------------------------------- Не то, плагин скрывает панель, а не приложение с панели (((
|
|
| |
Dym | Дата: Четверг, 29 Июля 2010, 03:39 | Сообщение # 21 |
Поэт
Группа: Проверенные
Сообщений: 220
Репутация: 9
Награды: 7
Статус: Offline
| Quote (Serg) Вроде бы есть плагин чтобы скрыть приложение из панели задач, как он называется? Подскажите пожалуйста. Бери SmallPlugin, и скрывай, что хочешь…
Вы не поверите, но я опять в строю – одним лишь взглядом свои мысли подаю! "Записи Дыма" <> "Лирика Дыма" <> "Помощник дурака" © Dym
|
|
| |
Serg | Дата: Четверг, 29 Июля 2010, 10:05 | Сообщение # 22 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Quote Бери SmallPlugin, и скрывай, что хочешь… Там нет такой фишки то
|
|
| |
Sower | Дата: Четверг, 29 Июля 2010, 14:35 | Сообщение # 23 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Serg, если всёравно как это сделать (даже если через ), то можно,например в делфи, закомпилить проект с внедренным твоим ехе (OLE) (чтоб отражался на форме как прикрепленный объект, как в ммб например такая фитча есть), а делфийский проект скомпилить при этом скрыв с панели (например в колмск есть комп. апплет, достаточно параметр на фэлсе поставить и его там не будет)
Сообщение отредактировал Sower - Четверг, 29 Июля 2010, 14:42 |
|
| |
Peter | Дата: Четверг, 29 Июля 2010, 17:31 | Сообщение # 24 |
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
| Quote (Sower) то можно,например в делфи, закомпилить проект с внедренным твоим ехе Serg, в установочной папке ММВ есть папка Plugins, а в ней есть файлик - MMBMisc.dll. Вот он может скрывать значок с панели задач: Quote MMB Misc - Misc Functions - HideFromTaskbar Description: This will hide your program from the taskbar Parameters: title of the program Return: Demo: Title$ = 'Welcome!' ** Title$ is the title of your project PluginSet("PlugIn","Title$") PluginRun("PlugIn","HideFromTaskbar") Это описание я взял из PlugiIndex. Если найдешь где в сети полную версию (с демками) плагина, то будет легче разбираться. У меня где-то был, но с наскоку я в своих завалах пока не нашел. Может когда-нибудь... Добавлено (29 Июль 2010, 17:31) ---------------------------------------------
Quote (Serg) Там нет такой фишки то Кстати, почему нет? Есть там такая фишка: Quote HideTaskbarButton command -------------------------------------------------------------------------------- The HideTaskbarButton command hides or displays application's button on the taskbar.
Никто не может вернуться в прошлое и изменить свой старт. Но каждый может стартовать сейчас и изменить свой финиш!
|
|
| |
YURIY | Дата: Четверг, 29 Июля 2010, 19:33 | Сообщение # 25 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (Peter) Кстати, почему нет? Есть там такая фишка: А он просто не стал утруждать себя чтением хелпа. На фиг это нужно? Code Integer=1 PluginSet("PlugIn","Integer") PluginRun("PlugIn","HideTaskbarButton")
Вечная память Андрею Сергееву!
|
|
| |
Sower | Дата: Пятница, 30 Июля 2010, 07:41 | Сообщение # 26 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Peter, ну извини, не знал гдеж ты раньше был Добавлено (30 Июль 2010, 07:41) ---------------------------------------------
Quote (Serg) Там нет такой фишки то и стоило моцг парить, решение прям в папке с ммб было
|
|
| |
Dym | Дата: Суббота, 31 Июля 2010, 21:04 | Сообщение # 27 |
Поэт
Группа: Проверенные
Сообщений: 220
Репутация: 9
Награды: 7
Статус: Offline
| Quote Там нет такой фишки то , Не стоит делать заявленья, Не разобравшись до конца. Любите справку – мать ученья, Чтоб знать все фишки мудреца!
Вы не поверите, но я опять в строю – одним лишь взглядом свои мысли подаю! "Записи Дыма" <> "Лирика Дыма" <> "Помощник дурака" © Dym
|
|
| |
Serg | Дата: Суббота, 31 Июля 2010, 22:07 | Сообщение # 28 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Спасибо ребят. Помогли. Я разобрался б до конца Прочёл бы справку - мать ученья. Но ведь англиЦская она А с переводчиком - мученья...
Сообщение отредактировал Serg - Суббота, 31 Июля 2010, 22:08 |
|
| |
Dym | Дата: Вторник, 14 Сентября 2010, 02:51 | Сообщение # 29 |
Поэт
Группа: Проверенные
Сообщений: 220
Репутация: 9
Награды: 7
Статус: Offline
| Очень маленький плагин для скрытия/отображения кнопки приложения на панели задач. В архиве пример и DLL, документация по данному модулю не требуется. Как использовать: Code ** скрыть кнопку PluginSet("PlugIn","1") PluginRun("PlugIn","HideTaskbarButton")
** показать кнопку PluginSet("PlugIn","0") PluginRun("PlugIn","HideTaskbarButton")
Вы не поверите, но я опять в строю – одним лишь взглядом свои мысли подаю! "Записи Дыма" <> "Лирика Дыма" <> "Помощник дурака" © Dym
|
|
| |