Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Панель задач. [D7, XP]


Scavenger ©   (2006-01-25 14:56:00) 

Уважаемые Мастера! Есть программа, как сделать так чтобы она работала в фоновом режиме, тобиш ее значок был на панели задач и сразу при загрузке компа она начинала работать?


Scavenger   (2006-01-26 11:25:00) [1]

Всем спасибо все получилось. Нашел библиотеку RGTray95.
Ярлык загнал в автозагрузку. Форма при запуске минимизируется в значок возле часов. Использовал свойство wsMinimized формы.
При щелчке по иконке форма востанавливается.

procedure TForm1.PGTrayIcon951Click(Sender: TObject);
begin
PGTrayIcon951.ShowApplication;
form1.WindowState:=WsNormal;
end;


DenXi   (2006-01-25 21:53:00) [2]

ShellAPI используй в Uses, а еще не забудь, что TfrmVillainy - этоназвание класса формы, у тя оно может быть что-то вроде TForm1 и т.д.


SergP.   (2006-01-25 18:29:00) [3]


> А вот как значок программы выставить на панель задачь там
> где часы.


Так куда тебе все-таки нужно: на панель задач, или там где часы?


azl   (2006-01-25 18:06:00) [4]

Скачай Rx Library

http://www.rxlib.ru/rx/rx_libr.htm

И будет тебе счастье


Scavenger   (2006-01-25 17:03:00) [5]

В процедуре TfrmVillainy.CreateTryIcon кричит что не знает TNotifyIconData. Посмотрел по справке данный, тип, но не нашел. Дай описание пожалуйста.


azl   (2006-01-25 16:59:00) [6]

Да какие проблемы?

Используй RxTrayIcon из Rx Library для того чтобы программа была в tray

WindowState := wsMinimized; - Программа будет стартовать свернутой.


Scavenger   (2006-01-25 16:31:00) [7]

Спасибо за подсказку. Сейчас буду пробывать.


DenXi   (2006-01-25 16:07:00) [8]

дык вот....... при загрузке (или таме еще когда) манипулируй свойством Visible главной формы... Например, в WMTryIcon (процедуре обработки событий значка в трее) можно писать Visible:= true.... а при загрузке Visible:= false. Вот и все!


DenXi   (2006-01-25 16:03:00) [9]

только LRShiftне нада.

А чтобы прога в автозагрузке висела............. для этого могу дать другой код, нада поискать


DenXi   (2006-01-25 15:59:00) [10]

создай сконстанту сообщения const WM_TRYICON = WM_USER+123;
потом в private формы опиши :
    procedure CreateTryIcon (n: Integer; Tip: String);
   procedure DeleteTryIcon (n: Integer);
   procedure WMTryIcon(var Msg: TMsg); message WM_TRYICON;


последняя процедура обрабатывает сооьщения от иконки около часов

Здесь создаем иконку

procedure TfrmVillainy.CreateTryIcon (n: Integer; Tip: String);
var
 nidata: TNotifyIconData;
begin
 with nidata do
 begin
   cbSize:= SizeOf (TNotifyIconData);
   Wnd:= frmvillainy.Handle;
   uID:= n;
   uFlags:= NIF_ICON or NIF_MESSAGE or NIF_TIP;
   uCallBackMessage:= WM_TRYICON;
   hIcon:= Application.Icon.Handle;
   StrPCopy (szTip,Tip);
 end;
 Shell_NotifyIcon (NIM_ADD, @nidata);
end;


здесь мы ее удаляем
procedure TfrmVillainy.DeleteTryIcon (n: Integer);
var
 nidata: TNotifyIconData;
begin
 with nidata do
 begin
   cbSize:= SizeOf (TNotifyIconData);
   Wnd:= frmvillainy.Handle;
   uID:= n;
 end;
 Shell_NotifyIcon (NIM_DELETE, @nidata);
end;

procedure TfrmVillainy.WMTryIcon(var Msg: TMsg);
begin
 if (msg.wParam=515) and LRShift then
 begin
//делаем при нажатии на иконку
 end
end;


Scavenger   (2006-01-25 15:52:00) [11]

Тут не совсем то, если я добавлю прогу в автозагрузку, то при загрузке вылезит окно проги. Мне этого не нужно. А вот как значок программы выставить на панель задачь там где часы. Мне нужно чтобы она работала в фоновом режиме наподобии как антивирусник.


azl   (2006-01-25 15:05:00) [12]

Помести ее в автозагрузку и будет тебе счасье:-)))


azl   (2006-01-25 15:05:00) [13]

Помести ее в автозагрузку и будет тебе счастье:-)))


Наверх

Титульная страница Поиск, карта сайта Написать письмо