Как кликнуть по значку в трее? а потом на 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
CoolTrayIcon+PopupMenu. Скрещиваем popupmenu с треем; В popupmenu создаешь "Плагины", затем Create Submen и создаешь iZoom; На onclick iZoom задаешь, что нужно.
в uses добавляешь shellapi. затем const WM_MYICONNOTIFY = WM_USER + 1; Далее в private формы пропиши procedure WMICON(var msg: TMessage); message WM_MYICONNOTIFY; procedure CreateTrayIcon(); procedure DeleteTrayIcon(); При условии что форма - Form1 Контекстное меню - PopupMenu1 то вот код: Code: 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; Если же нужно программно эмулировать ввод то найди хендлы иконки. Затем посылай сообщения онклик ему. или эмуляцию ввода мышью.