То, что мы умеем получать HWND окна дарит нам большую власть над этим окном. Теперь имея HWND мы получим доступ к меню окна, например, Калькулятор, который есть в стандартной поставке Windows.
Итак, создаем проект Win32 Console, как Hello Word с именем Getmenu. Вот код.
// Getmenu.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "windows.h" #include "iostream.h" void main() { HWND hwnd; hwnd=FindWindow("SciCalc","Калькулятор"); if (hwnd!=NULL) { HMENU hMenu; hMenu=GetMenu(hwnd); if (hMenu!=NULL) { int iCount; iCount=GetMenuItemCount(hMenu); cout << "Menu Item - " << iCount << endl; } else cout << " Error Loading Menu" << endl; } else cout << " Error Find Windows" << endl; }
Как всегда я ищу окно с помошью FindWindow указывая класс окна и имя окна. Где я их взял ? В SPY смотрите сами.
Имея HWND мы можем добраться до меню. Для этого есть GetMenu. Если он не NULL, то тут я могу повеселиться на славу. Например, получить количество пунктов GetMenuItemCount. По секрету я могу получать названия, удалять и вставлять свои пункты меню в чужую программу :-)))
Испытавая программу незабудьте запустить калькулятор, а то будете писать письма...