Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.08.21;
Скачать: 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 вся ветка

Текущий архив: 2011.08.21;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.007 c
1-1262652069
MaKc32
2010-01-05 03:41
2011.08.21
Как из моей программы управлять TrayIcon другой программы?


15-1303911419
Scott Storch
2011-04-27 17:36
2011.08.21
Проектирование БД - использование нескольких категорий


2-1305008500
бумбум
2011-05-10 10:21
2011.08.21
Перенести содержимое TreeView в другой


2-1304806453
Gu
2011-05-08 02:14
2011.08.21
Поиск файла в путях переменной окружения Path


15-1303780922
Мазут
2011-04-26 05:22
2011.08.21
Защитил свои авторские права - в турьму...