Форум: "Начинающим";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];
ВнизПанель задач. Найти похожие ветки
← →
Scavenger © (2006-01-25 14:56) [0]Уважаемые Мастера! Есть программа, как сделать так чтобы она работала в фоновом режиме, тобиш ее значок был на панели задач и сразу при загрузке компа она начинала работать?
← →
azl © (2006-01-25 15:05) [1]Помести ее в автозагрузку и будет тебе счасье:-)))
← →
azl © (2006-01-25 15:05) [2]Помести ее в автозагрузку и будет тебе счастье:-)))
← →
Scavenger © (2006-01-25 15:52) [3]Тут не совсем то, если я добавлю прогу в автозагрузку, то при загрузке вылезит окно проги. Мне этого не нужно. А вот как значок программы выставить на панель задачь там где часы. Мне нужно чтобы она работала в фоновом режиме наподобии как антивирусник.
← →
DenXi © (2006-01-25 15:59) [4]создай сконстанту сообщения 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;
← →
DenXi © (2006-01-25 16:03) [5]только LRShift не нада.
А чтобы прога в автозагрузке висела............. для этого могу дать другой код, нада поискать
← →
DenXi © (2006-01-25 16:07) [6]дык вот....... при загрузке (или таме еще когда) манипулируй свойством Visible главной формы... Например, в WMTryIcon (процедуре обработки событий значка в трее) можно писать Visible:= true.... а при загрузке Visible:= false. Вот и все!
← →
Scavenger © (2006-01-25 16:31) [7]Спасибо за подсказку. Сейчас буду пробывать.
← →
azl © (2006-01-25 16:59) [8]Да какие проблемы?
Используй RxTrayIcon из Rx Library для того чтобы программа была в tray
WindowState := wsMinimized; - Программа будет стартовать свернутой.
← →
Scavenger © (2006-01-25 17:03) [9]В процедуре TfrmVillainy.CreateTryIcon кричит что не знает TNotifyIconData. Посмотрел по справке данный, тип, но не нашел. Дай описание пожалуйста.
← →
azl © (2006-01-25 18:06) [10]Скачай Rx Library
http://www.rxlib.ru/rx/rx_libr.htm
И будет тебе счастье
← →
SergP. (2006-01-25 18:29) [11]
> А вот как значок программы выставить на панель задачь там
> где часы.
Так куда тебе все-таки нужно: на панель задач, или там где часы?
← →
DenXi © (2006-01-25 21:53) [12]ShellAPI используй в Uses, а еще не забудь, что TfrmVillainy - этоназвание класса формы, у тя оно может быть что-то вроде TForm1 и т.д.
← →
Scavenger © (2006-01-26 11:25) [13]Всем спасибо все получилось. Нашел библиотеку RGTray95.
Ярлык загнал в автозагрузку. Форма при запуске минимизируется в значок возле часов. Использовал свойство wsMinimized формы.
При щелчке по иконке форма востанавливается.
procedure TForm1.PGTrayIcon951Click(Sender: TObject);
begin
PGTrayIcon951.ShowApplication;
form1.WindowState:=WsNormal;
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c