📄 callback.h
字号:
//Callback.h
/////////////////////////////////////////////////////////
#ifndef _CALLBACK_H_
#define _CALLBACK_H_
/////////////////////////////////////////////////////////
#ifndef IMPORTS
#define DLLENTRY extern "C" __declspec(dllexport)
#else
#define DLLENTRY extern "C" __declspec(dllimport)
#endif
/////////////////////////////////////////////////////////
enum STATIC_MODUAL
{
DLL_MODUAL,
EXE_MODUAL,
};
/////////////////////////////////////////////////////////
//声明回调函数
typedef (CALLBACK *CB_FUNCTION)(DWORD dwFuncID = 0);
#define szCB_SetCallbackFunc "CB_SetCallbackFunc"
typedef BOOL(_cdecl *SetCallbackFunc)(CB_FUNCTION cbFunc, DWORD dwFuncID = 0);
#define szCB_ExitApplication "CB_ExitApplication"
typedef BOOL(_cdecl *ExitApplication)(DWORD dwExitCode = 0);
/////////////////////////////////////////////////////////
BOOL CALLBACK CB_CloseWindow(DWORD dwFuncID = 0);
/////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
#ifdef _USRDLL
//接口函数
DLLENTRY BOOL CB_SetCallbackFunc(CB_FUNCTION cbFunc, DWORD dwFuncID = 0);
DLLENTRY BOOL CB_ExitApplication(DWORD dwExitCode = 0);
#endif
//全局函数
void CloseMainWindow(UINT nModual);
/////////////////////////////////////////////////////////
//
class CCallBackFuncImpl
{
public:
HINSTANCE m_hLibInstance; //加载 DLL 时获得的句柄
CCallBackFuncImpl();
~CCallBackFuncImpl();
//初始化
void InitLibInstance();
//检查 DLL 文件是否存在
BOOL CheckLibInstance(char *szDLLPathName);
private:
//获取 DLL 函数的入口地址
FARPROC GetLibInstance(const char *szProcName);
//保存 DLL 文件的路径和名字
char m_szDLLPathName[256];
public:
BOOL SetCallbackFunction(CB_FUNCTION cbFunction, DWORD dwFuncID = 0);
BOOL ExitInstance(DWORD dwExitCode = 0);
private:
SetCallbackFunc m_pSetCallbackFunc;
ExitApplication m_pExitApplication;
};
/////////////////////////////////////////////////////////
#endif //_CALLBACK_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -