Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Как можно скрыть программу с панели задач?
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 только вот проект должен работать и под висту а там панель убирается а вот ПУСК остается... cry
Была еще мысль использовать
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'а)))

Прикрепления: 3619339.jpg (192.1 Kb)
 
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); оно скрывает панель задач, но пуск остается висеть см. прикрепеленый выше файл не работает на висте dry да же если писать 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, спасибо wink

Добавлено (17 Июль 2008, 18:42)
---------------------------------------------
Только вот да же если тебе и получится сделать поверх окон, появляется еще одна проблема нехотелось, что бы окно можно было перемещать между другими окнами, все же Windows Desktop Component это хорошая вещь))) проект как бы заблокирован на одном уровне и его нельзя перетащить по верх другого окна, если сможешь попробуй добавить в плагин что то наподобее блокировки окна на одном уровне))) спс biggrin

 
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
Кто запостит резюме, как все это делать?
Или, еще лучше, в раздел Готовые ответы по ММВ.

обязательно запостим и все в подробностях и с примерами... wink

 
as-masterДата: Пятница, 18 Июля 2008, 17:00 | Сообщение # 12
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
Quote (buy)
обязательно запостим и все в подробностях и с примерами...

Good suspicious


Да пребудет с вами ММВ!
 
toizyДата: Пятница, 18 Июля 2008, 19:20 | Сообщение # 13
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
чёй-то ты цитатами то с дельфей, то с сисек... Всё равно никак иначе, чем через плагин не прикрутишь... а у мну времени не было, да и не будет, наверное, на этих выходных.. по крайней мере... даж за комп не сяду. увы! жду понедельнега

Жизнь оказалась не такой уж и забавной, как поначалу...
 
buyДата: Пятница, 18 Июля 2008, 19:56 | Сообщение # 14
Новый участник
Группа: Пользователи
Сообщений: 11
Репутация: 0
Награды: 0
Статус: Offline
Quote (toizy)
чёй-то ты цитатами то с дельфей, то с сисек...

Сам не знаю... smile
Ну вообщем с вистой и кнопкой "Старт (Пуск)" разобрался вот все работает скачать
скрывается и пуск и панель задач))
 
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, если всёравно как это сделать (даже если через :D ), то можно,например в делфи, закомпилить проект с внедренным твоим ехе (OLE) (чтоб отражался на форме как прикрепленный объект, как в ммб например такая фитча есть), а делфийский проект скомпилить при этом скрыв с панели (например в колмск есть комп. апплет, достаточно параметр на фэлсе поставить и его там не будет)

Сообщение отредактировал Sower - Четверг, 29 Июля 2010, 14:42
 
PeterДата: Четверг, 29 Июля 2010, 17:31 | Сообщение # 24
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
Quote (Sower)
то можно,например в делфи, закомпилить проект с внедренным твоим ехе

mda
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, ну извини, не знал scratch гдеж ты раньше был

Добавлено (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
Спасибо ребят. Помогли.

Я разобрался б до конца
Прочёл бы справку - мать ученья.
Но ведь англиЦская она
А с переводчиком - мученья... :D




Сообщение отредактировал 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")
Прикрепления: tbarbtn.zip (3.7 Kb)


Вы не поверите, но я опять в строю – одним лишь взглядом свои мысли подаю!

"Записи Дыма" <> "Лирика Дыма" <> "Помощник дурака"
© Dym
 
  • Страница 1 из 1
  • 1
Поиск: