Вниз
Скачать: CL | DM;

Как из моей программы управлять TrayIcon другой программы?   Найти похожие ветки 

← →
MaKc32   (2010-01-05 03:41) [0]

Нужно из моей программы произвести двойной клик на определенном значке в трее либо его пунтке меню.

Посылаю  команду ShowWindow(Handle, 1);
Окно программы появляется, но оно как будто свернуто, нельзя нажать свернуть, пока не будет сделан клик на значок в трее.


← →
Leonid Troyanovsky ©   (2010-01-05 09:45) [1]


> MaKc32   (05.01.10 03:41)  

http://msdn.microsoft.com/en-us/library/ms633539(VS.85).aspx

--
Regards, LVT.


← →
Anatoly Podgoretsky ©   (2010-01-05 15:11) [2]

> MaKc32  (05.01.2010 03:41:00)  [0]

В трее только картинка, при том с неопределенным местоположением.


← →
имя   (2010-01-06 19:39) [3]

Удалено модератором


← →
Rouse_ ©   (2010-01-10 15:17) [4]


> Anatoly Podgoretsky ©   (05.01.10 15:11) [2]
> В трее только картинка, при том с неопределенным местоположением.

Ну почему-же. Все там определено :)
http://rouse.drkb.ru/winapi.php#fwsystrayinfo


← →
brother ©   (2010-01-12 04:45) [5]

> Ну почему-же. Все там определено :)

смотрел этот код, но до: кликнуть по иконке в трее ему далеко (дорабатывал напильником, долго и нудно)


← →
Leonid Troyanovsky ©   (2010-01-12 09:29) [6]


> brother ©   (12.01.10 04:45) [5]

> смотрел этот код, но до: кликнуть по иконке в трее ему далеко

А кликать-то зачем?
Узнать Wnd & uCallbackMessage и послать WM_LBUTTONDBLCLK.

--
Regards, LVT.


← →
brother ©   (2010-01-12 09:38) [7]

> Узнать Wnd & uCallbackMessage и послать WM_LBUTTONDBLCLK.

были заморочки какие-то, ща не помню...


← →
Rouse_ ©   (2010-01-12 12:08) [8]


> brother ©   (12.01.10 04:45) [5]
>
> > Ну почему-же. Все там определено :)
>
> смотрел этот код, но до: кликнуть по иконке в трее ему далеко
> (дорабатывал напильником, долго и нудно)

Ну это-же демо, код можно использовать только в качестве отправной точки :)


← →
brother ©   (2010-01-12 12:14) [9]

яб с удовольствие посмотрел на рабочий вариант ;)
а именно: Узнать Wnd & uCallbackMessage и послать WM_LBUTTONDBLCLK чужого приложения


← →
Leonid Troyanovsky ©   (2010-01-12 13:10) [10]


> brother ©   (12.01.10 12:14) [9]

Вроде бы, в [4] ссылка на пример, в котором есть
"Узнать Wnd & uCallbackMessage".

Но, можно еще проще.
Выяснить WM_COMMAND нужного пункта меню и слать его окну,
которое их (WM_COMMAND) обрабатывает.

--
Regards, LVT.


← →
Rouse_ ©   (2010-01-12 13:26) [11]


> brother ©   (12.01.10 12:14) [9]
>
> яб с удовольствие посмотрел на рабочий вариант ;)
> а именно: Узнать Wnd & uCallbackMessage и послать WM_LBUTTONDBLCLK
> чужого приложения

         // Читаем расширенную информацию по кнопке
         ZeroMemory(@NprivIcon, SizeOf(TNprivIcon));
         ReadProcessMemory(hProcess, Pointer(ButtonInfo.lParam),
           @NprivIcon, SizeOf(TNprivIcon), dwBytesWriten);


потом смотри

NprivIcon.hWnd и NprivIcon.uCallbackMessage


← →
brother ©   (2010-01-13 04:37) [12]

> потом смотри
>
> NprivIcon.hWnd и NprivIcon.uCallbackMessage

О_о эээ, чет в прошлый раз я совсем ступил...


← →
brother ©   (2010-01-13 04:56) [13]

все просто (как я и предполагал):

// Определяем путь к приложению добавившему иконку
FIconData.Items[I].szAppPath := GetAppName(NprivIcon.hWnd);
if Pos("имя EXE", FIconData.Items[I].szAppPath) > 0 then
begin
 SendMessage(NprivIcon.hWnd, NprivIcon.uCallbackMessage, NprivIcon.uID, WM_LBUTTONDBLCLK);
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.009 c
2-1305114003
Max
2011-05-11 15:40
2011.08.21
все про Excel


3-1262954585
serko
2010-01-08 15:43
2011.08.21
Обработка ошибок


1-1263466343
NBAH1990
2010-01-14 13:52
2011.08.21
Копирование текста из Ворда в RichViewEdit


2-1305069229
Sevenfold
2011-05-11 03:13
2011.08.21
Динамический двунаправленный список (Рандом)


2-1305111938
leonid666
2011-05-11 15:05
2011.08.21
ole-container немогу открыть ворд




   Наверх