Обработка нажатий по системному меню в UWP приложении на с++
Создаю пункты в меню через InsertMenuItem
удалив перед этим старые пункты:
HMENU systemMenu = GetSystemMenu(window, FALSE);
for (int i = 0; i < 5; i++){
RemoveMenu(systemMenu, 0, 1024);
}
int cnt = 0;
MENUITEMINFO alwaysOnTop;
alwaysOnTop.cbSize = sizeof(MENUITEMINFO);
alwaysOnTop.fMask = MIIM_DATA | MIIM_STRING;
alwaysOnTop.fType = MFT_STRING;
alwaysOnTop.dwTypeData = (char*) "Toggle Menu";
alwaysOnTop.cch = 11;
alwaysOnTop.wID = 5;
alwaysOnTop.dwItemData = 6;
InsertMenuItem(systemMenu, cnt++, TRUE, &alwaysOnTop);
Добавил, а обработать нажатие не могу, потому что это UWP приложение, а не win32, и соответственно использовать WndProс
с WM_SYSCOMMAND
не могу, пытался по гайдам сделать его рабочим через SetWindowLongPtr
- WndProc
стал принимать сообщения, но не те которые мне нужны, а сообщения по типу изменения размеров окна. Даже нажатия по клавиатуре не приходят, не говоря о WM_SYSCOMMAND
. Можно ли средствами winrt обработать нажатие по системному меню? Пробовал принимать ивенты по типу KeyDown - там тоже пусто...