![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Управлять чужой менюшкой лежащей в трее [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...)