#include "stdafx.h" #include "Resource.h" #include "ManageServer.h" #include #include #include class CProcessCOMMAND : public CMsgProc { public: CProcessCOMMAND(CConsoleWindow& ConsoleWindow) : m_ConsoleWindow(ConsoleWindow) { } virtual ~CProcessCOMMAND() { } virtual LRESULT operator () (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { char* szCommand = 0; switch (LOWORD(wParam)) { case ID_MENU_OPENCONSOLE: m_ConsoleWindow.Initialize("ManageServer"); break; case ID_MENU_CLOSECONSOLE: m_ConsoleWindow.Destroy(); break; case ID_MENU_RELOADSETUP: szCommand = "reload"; break; case ID_MENU_CONNECTTOSTATSERVER: CManageServer::GetInstance().ConnectToStatServer(); break; case ID_MENU_FLUSH: szCommand = "flush"; } if(LOWORD(wParam) == IDM_EXIT) { DETLOG0(g_Log, "Terminate Manage Server System Tray."); PostMessage(hWnd, WM_QUIT, 0, 0); } return 0; } private: CConsoleWindow& m_ConsoleWindow; }; bool CManageServer::InitializeMsgProc() { int nErrorCount = 0; CMsgProcessMgr* lpMsgProcessMgr = GetMsgProcessMgr(); if(0 != lpMsgProcessMgr) { if(GetConsoleWindow()) { nErrorCount += lpMsgProcessMgr->Register(WM_COMMAND, new CProcessCOMMAND(*GetConsoleWindow())) ? 0 : 1; } } return (0 == nErrorCount); }