LRESULT CALLBACK WndProc (HWND hwnd , UINT msg,WPARAM wParam , LPARAM lParam) { //COLORREF clr = RGB(0, 0, 0); if (msg == mTaskbarCreated){ InstallTrayIcon(hwnd); return 0; } switch(msg) { case WM_CREATE: return OnCreate(hwnd); case WM_CLOSE: return OnClose(hwnd); case WM_SIZE: return 0; case WM_HOTKEY: OnHotkey(hwnd, wParam, lParam); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; case WM_COMMAND: OnCommand(hwnd, (int)wParam); return 0; case WM_SHELLNOTIFY: return OnShellNotify(hwnd, wParam, lParam); } return DefWindowProc(hwnd,msg,wParam,lParam); }
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg) { HANDLE_MSG(hwnd, WM_CREATE, OnCreate); HANDLE_MSG(hwnd, WM_SIZE, OnSize); HANDLE_MSG(hwnd, WM_COMMAND, OnCommand); HANDLE_MSG(hwnd, WM_CLOSE, OnClose); case WM_SHELLNOTIFY: return OnShellNotify(hwnd, wParam, lParam); } return DefWindowProc(hwnd, uMsg, wParam, lParam); }
static void OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) { switch (id) { case ID_RESTORE: OnShellNotify(hwnd, ID_TRAY, WM_LBUTTONDBLCLK); break; case ID_START_D2CS: fprintf(stderr,"Sending Start Signal to d2cs\n"); d2cs_run = TRUE; break; case ID_SHUTDOWN_D2CS: fprintf(stderr,"Sending Shutdown Signal to d2cs\n"); d2cs_run = FALSE; signal_quit_wrapper(); break; case ID_RESTART_D2CS: fprintf(stderr,"Sending Restart Signal To d2cs\n"); d2cs_run = TRUE; signal_quit_wrapper(); break; case ID_EDITCONFIG_D2CS: ShellExecute(NULL, "open", "notepad.exe", "conf\\d2cs.conf", NULL, SW_SHOW ); break; case ID_LOADCONFIG_D2CS: fprintf(stderr,"Sending Reload Config Signal To d2cs\n"); signal_reload_config_wrapper(); break; case ID_LADDER_LOAD: fprintf(stderr,"Sending Reload Ladder Signal To d2cs\n"); signal_load_ladder_wrapper(); break; case ID_RESTART_D2GS: fprintf(stderr,"Sending Restart d2gs Signal To d2cs\n"); signal_restart_d2gs_wrapper(); break; case ID_EXIT: OnClose(hwnd); break; case ID_CLEAR: SendMessage(ghwndConsole, WM_SETTEXT, 0, 0); break; case ID_ABOUT: DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(ID_ABOUT_BOX), hwnd, (DLGPROC)DlgProcAbout); break; } }