Как определить хэндл всплывающего меню? - VB
Формулировка задачи:
Помогите пожалуйста найти хэндл всплывшего не моего меню. Надо бы деактивировать там пару команд.
Спасибо.
Решение задачи: «Как определить хэндл всплывающего меню?»
textual
Листинг программы
HWND hWND=FindWindowA("class","title"); // определяем хендл главного окна HWND hControl=FindWindowA("button","ok"); // определим хендл контрола, по которому при клике правой кнопкой всплывает нужное меню int X=41 Y=10; // координаты мыши для щелчка PostMessage(hControl, WM_RBUTTONDOWN, MK_RBUTTON, X * 65536 + Y); // нажмем програмно на нужном элементе PostMessage(hControl, WM_RBUTTONUP, MK_RBUTTON, X * 65536 + Y); // отпустим кнопку Sleep(100); // HWND hpopup=FindWindowA("#32768",""); // определим хендл владельца всплывшего меню int hmenu=SendMessageA(hpopup,MN_GETHMENU,0,0); // определим хендл самого меню int i = 1; // номер элемента, который нужно выбрать int id=GetMenuItemID(hmenu,i); // получим идентификатор элемента SendMessageA(hMT,WM_COMMAND,id,0); // выберем его SendMessageA(hpopup,WM_CLOSE,0,0); // закроем меню
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д