⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 callback.h

📁 单机版的三子棋游戏
💻 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 + -