Шаг 3 - GetMenu

То, что мы умеем получать 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 смотрите сами.

3.gif (4564 b)

Имея HWND мы можем добраться до меню. Для этого есть GetMenu. Если он не NULL, то тут я могу повеселиться на славу. Например, получить количество пунктов GetMenuItemCount. По секрету я могу получать названия, удалять и вставлять свои пункты меню в чужую программу :-)))

Испытавая программу незабудьте запустить калькулятор, а то будете писать письма...


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.