Форум: "Начинающим";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
ВнизХендл меню Найти похожие ветки
← →
Khim © (2006-04-11 11:53) [0]Доброе время суток!
Вопрос такой: как найти хендл плаваюего меню?
Getmenu здесь не подходит
Помогите кто может!
если можно помогите примерчиком
Заранее сенкс!
← →
Leonid Troyanovsky © (2006-04-11 12:24) [1]
> Khim © (11.04.06 11:53)
> Вопрос такой: как найти хендл плаваюего меню?
The window class name for a pop-up menu is "#32768".
--
Regards, LVT.
← →
Khim © (2006-04-11 18:16) [2]Нужно найти меню, например в Мелкософт Оффисе, или дельфи, а также его пункты,
В дельфи менюшка расположена на отдельной плавающей панельке
вот кусок кодаVar
Men :HMenu;
Hnd,HndDialog,HndControl,HndAsc,HndBtn :HWnd;
HndMen,HndSMen :HMenu;
idMen :integer;
begin
Hnd:=FindWindow("TAppBuilder", nil);
if Hnd <>0 then begin
//фокусируем:
windows.SetForegroundWindow(Hnd); //или можно так:windows.BringWindowToTop(Hnd);
//Работа с меню:
//===============================================================================
HndMen:=GetMenu(Hnd);//получили описатель главного меню окна.
HndSMen:=GetSubMenu(HndMen,1);//получили описатель второго пункта главного меню (0 -первый пункт)
//получили идентификатор 7 пункта подменюменю (черты в меню - это также пункты)
idMen:=GetMenuItemID(HndSMen,6);
//в данном случае idMen это word(33206)
if idMen<>0 then begin
//запускаем пункт меню. Именно PostMessage, SendMessage - не работает.
PostMessage(Hnd,WM_COMMAND,idMen,0);
Idmen возвращает -1 Что не так? с блокнотом усё работает,
← →
Leonid Troyanovsky © (2006-04-11 19:42) [3]
> Khim © (11.04.06 18:16) [2]
> Нужно найти меню, например в Мелкософт Оффисе, или дельфи,
> а также его пункты,
Это ж кому такое извращение потребно?
С офисом работают через COM, для дельфи делают эксперты IDE и пр.
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c