| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Tray |
| Автор: SoWa 5.1.2005, 06:32 |
| Ответьте пожалуйста на такой вопрос: Можно-ли любое запущенное приложение свернуть в трей, например Word? Принцип действия наверное такой: -Убрать приложение из панели задач(Word) -В своей программе динамически создать JvTrayIcon -Присвоить ему иконк уданного приложения(Word) -Заставить его при двойном щелчке развернуть приложение(Word) А как это можно написать, хоть бы убирание из панели задач подскажите! |
| Автор: Alex 5.1.2005, 09:49 |
| Не нужно создавать 2 темы на 1 вопрос! |
| Автор: Pathfider 5.1.2005, 12:33 |
| В принципе можно, НО управление иконкой в трее ведется из твоей программы. |
| Автор: Vit 5.1.2005, 17:14 |
| Вот программа которая это делает с исходниками. Я её очень люблю - ставишь в автозапуск и после любое приложение при клике на кнопку минимизации правой кнопкой мыши минимизируется не на таск бар а в трэй. Классная прога, всем рекомендую. Она не работает только для тех приложений, что написаны на Дельфи - там в связи с невидимым объектом Application получаются проблемы. Всем очень рекомендую! |
| Автор: Akella 6.1.2005, 12:46 |
| СПАСИБО |
| Автор: SoWa 12.1.2005, 04:41 |
| Vit, програ конечно хорошая, но надо бы для всех приложений. Я придумал как это реализовать, но есть один вопрос. Я его в новой теме задам. |
| Автор: Vit 12.1.2005, 18:26 | ||
? |
| Автор: Akella 13.1.2005, 10:27 | ||
Vit, сам же писал
|
| Автор: Guest 13.1.2005, 15:24 |
| вот код: делает всё ------- uses .... ,shellApi; Procedure Tmainform.Ic(n:Integer;Icon:TIcon);{tray procedure} Var i:integer; Nim:TNotifyIconData;{tray îáúåêò} begin //îáðàáîòêà tray èêîíêè With Nim do Begin cbSize:=SizeOf(Nim); Wnd:=mainform.Handle; uID:=1; uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP; hicon:=Icon.Handle; uCallbackMessage:=wm_user+1; szTip[i]:= 'hint'; end; End; Case n OF 1: Shell_NotifyIcon(Nim_Add,@Nim);//создать 2: Shell_NotifyIcon(Nim_Delete,@Nim);//убить 3: Shell_NotifyIcon(Nim_Modify,@Nim);//изменить End; end; procedure Tmainform.IconMouse(var Msg:TMessage); Var p:tpoint; begin GetCursorPos(p); Case Msg.LParam OF WM_LBUTTONUP,WM_LBUTTONDBLCLK: Begin if ready=1then begin Ic(2,TNicon); ShowWindow(Handle,SW_SHOWNORMAL);//этот код можно исп для скрытия пр-я end; End; WM_RBUTTONUP: Begin if ready=1then begin SetForegroundWindow(Handle); about1.Visible:=true; PopupMenu1.Popup(p.X,p.Y); PostMessage(Handle,WM_NULL,0,0) end; end; End; end; если вопросы есть то на асю пишите |
| Автор: tcomponent 13.1.2005, 15:30 |
| кстати ася от tcomponent (я забыл выполнить вход)... |