别的不说,先看代码 //MsgProcCorrespond.h #ifndef MSG_PROC_STRUCT_2010_04_07_17_39_34 #define MSG_PROC_STRUCT_2010_04_07_17_39_34 typedef long MsgProcFun(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); struct MsgProcCorr { int msg; MsgProcFun *msgProc; }; #endif //EnterPoint.cpp #include <Windows.h> #include "MsgProcCorrespond.h" #define MsgProcCorrArrLength(x) sizeof(x)/sizeof(x[0]) //--------------------------------------------------------------------------------------- long WmCreateProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); long WmDestroyProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); long WmCommandProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); //windows message & procdure correspond MsgProcCorr winMsgProcCorrs[] = { WM_CREATE, WmCreateProc, WM_DESTROY, WmDestroyProc, WM_COMMAND, WmCommandProc, }; //-----------------------------------