Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Управлять чужой менюшкой лежащей в трее [D7, Win2k, WinXP]


Dimich1978 ©   (2005-10-06 13:42:00) 

Смысл в том, что имеется чужая прога, которая лежит в  трее, в данной меню есть два пункта, ОН и ОФФ, мне необходимо иметь возможность из своей программы переключать(выбирать), то один , то другой пункт меню(все зависит от ситуации). Что можно предпринять?
Заранее спасибо.


Dimich1978   (2005-10-06 17:06:00) [1]

решил проблему, но коряво ужас как. Двигаю мышку в енто место крана и выполняю необходимые действия. Но ведь енто кривая реализация. Если у кого есть реализация на основе  exe файла, его то я знаю, может используя все же exe как нибудь сотворить..жду предложений. Возможно и форма то есть, только скрытая.


Dimich1978   (2005-10-06 14:53:00) [2]

Понятно, но наличие окна отсутствует, по крайней мере после интсалляции программы появляется в трее и по левому клику ничего нет, а по правому появляется ПОПУП меню и там эти два пункта.
Откуда копать не пойму. Плиз подскажите...


clickmaker   (2005-10-06 14:31:00) [3]

а, чужая прога.. невниматочно прочел
Тогда видимо никак. WM_Menuselect или WM_Command можно послать только при наличии окна, если оно там есть и ты его вычислишь


Dimich1978   (2005-10-06 14:27:00) [4]

Писал я как то ррограммку и необходимо было закрыть Task Manager и я использовал class name его и Windows text
получилось:
ShowWindow(findwindow('#32770','Диспетчер задач Windows'),sw_hide);
Но я не могу получить его class name, т.к. программа находится в работе и используя программу password checker которая и определяла class name не может отработать по причине, как я только хочу узнать, у меня менюшка закрывается.
Теоретически если я узнаю class name я могу послать сообщение типа  WM_MENUSELECT.
Окна нет, есть только данная менюшка, про крайней мере это видимая сторона, а есть форма или нет х.з.
Какие еще варианты можно использовать?


clickmaker   (2005-10-06 13:57:00) [5]

Если у проги в трее есть окно, слать ему SendMessage. Можно через RegisterWindowMessage + SendMessage(HWND_BROADCAST,..)
Если нет, общаться с ним по другим каналам (Mailslots, Pipes...)


Наверх

Титульная страница Поиск, карта сайта Написать письмо