Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.30;
Скачать: CL | DM;

Вниз

Как выбрать пункт главного меню чужого приложения (окна)   Найти похожие ветки 

 
il   (2003-04-28 14:24) [0]

в меню войти удается по
sendMessage(WindowHandle,WM_SYSCOMMAND,SC_KEYMENU,0);
а вот чтобы дальше двигаться по нему - никак. Пробовал посылать в окно "стрелку вниз" и "Enter" с помощью
sendMessage(H,WM_KEYDOWN ,VK_Return,0);
sendMessage(H,WM_KEYUP ,VK_Return,0);
или
sendMessage(H,WM_CHAR ,VK_Return,0);
- ничего не получается


 
Игорь Шевченко ©   (2003-04-28 15:56) [1]

TrackPopupMenu(Ex) ?


 
il   (2003-04-28 17:12) [2]

TrackPopupMenu служит для того, чтобы показать контекстное меню, но пункт его юзверь будет выбирать сам.
Вот решение моей проблемы:
var H:hWnd;
mnuHandle:HMENU;
i:integer;

H:=FindWindow("TForm1","Form1");
mnuHandle:=getMenu(H); //получение хэндла главного меню
mnuHandle:=GetSubMenu(mnuHandle,1); //получение хендла выпадающего меню под вторым пунктом главного
i:=GetMenuItemID(mnuHandle,0); //получение идентификатора требуемого пункта
sendMessage(H,WM_COMMAND,i,0); //выполнить команду, ассоциированную с требуемым пунктом меню

> Игорь Шевченко
Спасибо за наводку!



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.015 c
1-97691
TimV
2003-06-17 17:25
2003.06.30
Как определить нажатие скролера мышки


3-97492
pathfinder
2003-06-05 01:42
2003.06.30
Вопрос о подключении к БД...


14-97890
gn
2003-06-06 06:58
2003.06.30
сумерки богов


3-97502
Akademik
2003-06-05 12:51
2003.06.30
Нет каскадного удаления в таблицах Paradox


3-97480
Зозуля Юрий
2003-05-30 11:19
2003.06.30
Cнова о DBF без BDE