ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |

14.05.2010, 21:59
|
|
Познающий
Регистрация: 02.12.2009
Сообщений: 37
Провел на форуме: 195146
Репутация:
15
|
|
Delphi и трей.
Как кликнуть по значку в трее? а потом на iZoom. Вроде задача не сложная, но все же столкнулся с проблемой.
вот скрин:

|
|
|

14.05.2010, 23:00
|
|
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме: 188563
Репутация:
52
|
|
Сообщение от xafon
Как кликнуть по значку в трее? а потом на iZoom. Вроде задача не сложная, но все же столкнулся с проблемой.
вот скрин:

Прикрути в иконке PopupMenu, он позволяет делать такое. Кодом не помню как, если компонентом.
1. Вызываешь окно, редактирования PopupMenu
2. Правой кнопкой.
3. Create SubMenu
Тык: http://www.sql.ru/Forum/actualthread.aspx?bid=20&tid=528806&hl=
http://programmersforum.ru/showthread.php?t=10923
Последний раз редактировалось JnK; 14.05.2010 в 23:05..
|
|
|

14.05.2010, 23:02
|
|
Познающий
Регистрация: 26.02.2010
Сообщений: 76
Провел на форуме: 522804
Репутация:
16
|
|
CoolTrayIcon+PopupMenu.
Скрещиваем popupmenu с треем;
В popupmenu создаешь "Плагины", затем Create Submen и создаешь iZoom;
На onclick iZoom задаешь, что нужно.
|
|
|

14.05.2010, 23:48
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
в uses добавляешь shellapi.
затем
const
WM_MYICONNOTIFY = WM_USER + 1;
Далее в private формы пропиши
procedure WMICON(var msg: TMessage); message WM_MYICONNOTIFY;
procedure CreateTrayIcon();
procedure DeleteTrayIcon();
При условии что форма - Form1
Контекстное меню - PopupMenu1
то вот код:
Код:
procedure TForm1.WMICON(var msg: TMessage);
var
P: TPoint;
begin
if msg.LParam = WM_RBUTTONDOWN then
begin
GetCursorPos(p);
SetForegroundWindow(Application.MainForm.Handle);
PopupMenu1.Popup(P.X, P.Y);
end;
end;
// нужно выполнить чтобы добавить иконку
procedure TForm1.CreateTrayIcon();
var
nidata: TNotifyIconData;
begin
with nidata do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := Self.Handle;
uID := 1;
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
uCallBackMessage := WM_MYICONNOTIFY;
hIcon := Application.Icon.Handle;
StrPCopy(szTip, Application.Title);
end;
Shell_NotifyIcon(NIM_ADD, @nidata);
end;
// нужно выполнить чтобы удалить иконку
procedure TForm1.DeleteTrayIcon();
var
nidata: TNotifyIconData;
begin
with nidata do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := Self.Handle;
uID := 1;
end;
Shell_NotifyIcon(NIM_DELETE, @nidata);
end;
Если же нужно программно эмулировать ввод то найди хендлы иконки. Затем посылай сообщения онклик ему. или эмуляцию ввода мышью.
|
|
|
|
 |
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Видео уроки Delphi
|
][imer |
С/С++, C#, Delphi, .NET, Asm |
48 |
18.04.2010 09:05 |
|
Delphi - язык или среда?
|
Seravin |
Болталка |
12 |
28.03.2010 01:46 |
|
Литература Delphi
|
Sams |
С/С++, C#, Delphi, .NET, Asm |
2 |
19.03.2010 19:46 |
|
Virus.Win32.Induc.a или "Снова записки новичка"
|
_=(mac)=_ |
Защита ОС: вирусы, антивирусы, файрволы. |
5 |
24.08.2009 23:34 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|