0
我已經添加了一個菜單項到我使用AllocConsole()
函數創建的應用程序的控制檯窗口的SystemMenu。但我無法弄清楚如何處理我添加的菜單項的事件。如何從控制檯窗口的系統菜單中的菜單項獲取菜單事件?
我該如何處理這些菜單事件?
謝謝
我已經添加了一個菜單項到我使用AllocConsole()
函數創建的應用程序的控制檯窗口的SystemMenu。但我無法弄清楚如何處理我添加的菜單項的事件。如何從控制檯窗口的系統菜單中的菜單項獲取菜單事件?
我該如何處理這些菜單事件?
謝謝
你嘗試覆蓋控制檯窗口的窗口過程?即一旦你獲得窗口句柄GetConsoleWindow,然後鉤住它的窗口過程SetWindowLongPtr,你必須聽WM_SYSCOMMAND消息。關於如何處理系統菜單中的菜單項,請參閱此article。
是的,我試過那個。但是當我嘗試控制檯窗口的子類時,我得到一個ERROR_ACCESS_DENIED – Ranjith 2010-03-04 05:48:31
根據這個消息http://groups.google.com/group/comp.os.ms-windows.programmer.win32/ msg/e98bac69a7052d9b,不能子控制檯窗口。你也可以嘗試使用window hok http://msdn.microsoft.com/en-us/library/ms644959%28VS.85%29.aspx。最後一個選項是使用蹦牀覆蓋窗口過程,但我認爲這樣做太過分了,只是爲了添加一些菜單項。 – Ismael 2010-03-04 14:30:38
+1 Thanks.I將嘗試windows掛鉤 – Ranjith 2010-03-05 05:46:38