Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2011.08.21;
Скачать: [xml.tar.bz2];

Вниз

Как из моей программы управлять 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.003 c
15-1304313612
Константинов
2011-05-02 09:20
2011.08.21
Домашняя сеть


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


2-1304994871
Gu
2011-05-10 06:34
2011.08.21
Аплеты панели управления в Win7x64


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


4-1249393654
DevilDevil
2009-08-04 17:47
2011.08.21
Как создать пункт меню с иконкой. Желательно с альфаканалом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский