2010-03-03 1 views
0

Я добавил пункт меню в SystemMenu окна консоли моего приложения, которое я создал с помощью функции AllocConsole(). но я не мог понять, как обрабатывать события для пунктов меню, которые я добавил.Как получить события меню из пункта меню в системном меню окна консоли?

Как я могу обработать эти события меню?

Спасибо

ответ

1

Пробовали ли вы перекрывая окна процедурного консольного окна? т.е. после того, как вы получили ручку окна с GetConsoleWindow, а затем подключили ее окно proc с помощью SetWindowLongPtr, вам необходимо прослушать сообщение WM_SYSCOMMAND. См. Это article о том, как обрабатывать элементы меню из системного меню.

+0

Да, я пробовал это. Но я получаю ERROR_ACCESS_DENIED, когда пытаюсь подклассировать окно консоли – Ranjith

+0

В соответствии с этим сообщением http://groups.google.com/group/comp.os.ms-windows.programmer.win32/ msg/e98bac69a7052d9b, вы не можете подключить консольное окно. Также вы можете попробовать использовать окно hok http://msdn.microsoft.com/en-us/library/ms644959%28VS.85%29.aspx. Последний вариант - переопределить прогон окна с помощью батута, но я думаю, что делать это слишком далеко, просто для добавления нескольких элементов меню. – Ismael

+0

+1 Спасибо. Я попробую крючки окон – Ranjith

 Смежные вопросы

  • Нет связанных вопросов^_^