The WM_COMMAND message is sent when the user selects a command item from a menu, when a control sends a notification message to its parent window, or when an accelerator keystroke is translated. Syntax WM_COMMAND WPARAM wParam LPARAM lParam; Parameters wParam The high-order word specifies the notification code if the message is from a control. If the message is from an accelerator, this value is 1. If the message is from a menu, this value is zero. The low-order word specifies the identifier of the menu item, control, or accelerator. lParam Handle to the control sending the message if the message is from a control. Otherwise, this parameter is NULL.
А как определить идентификатор элемента всплывающего меню (к примеру Edit - Copy)? Нашел следующую функцию. Функция GetMenuItemID Описание: function GetMenuItemID(Menu: HMenu; Pos: Integer): Word; Опpеделяет числовой идентификатоp элемента меню, pасположенного в указанной позиции меню. Паpаметpы: Menu: Идентификатоp всплывающего меню. Pos: Позиция элемента в меню, отсчитываемая с нуля. Возвpащаемое значение: В случае успешного завеpшения возвpащается идентификатоp элемента; 0 - если элемент является всплывающим и -1 - если ошибка. функция находится в файле user32.dll Но она всегда возвращает -1
Запустить шпион сообщений (со студией поставляется). Отловить WM_COMMAND окна, получающего сообщение. Посмотреть параметры.