• 1826阅读
  • 3回复

MFC DLL [复制链接]

上一主题 下一主题
离线啊冲
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2015-08-26

// GameDll.cpp : 定义 DLL 的初始化例程。
//
#include "stdafx.h"
#include "GameDll.h"
#include "MainView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif
//
//TODO: 如果此 DLL 相对于 MFC DLL 是动态链接的,
//  则从此 DLL 导出的任何调入
//  MFC 的函数必须将 AFX_MANAGE_STATE 宏添加到
//  该函数的最前面。
//
//  例如:
//
//  extern "C" BOOL PASCAL EXPORT ExportedFunction()
//  {
//   AFX_MANAGE_STATE(AfxGetStaticModuleState());
//   // 此处为普通函数体
//  }
//
//  此宏先于任何 MFC 调用
//  出现在每个函数中十分重要。这意味着
//  它必须作为函数中的第一个语句
//  出现,甚至先于所有对象变量声明,
//  这是因为它们的构造函数可能生成 MFC
//  DLL 调用。
//
//  有关其他详细信息,
//  请参阅 MFC 技术说明 33 和 58。
//
// CGameDllApp
BEGIN_MESSAGE_MAP(CGameDllApp, CWinApp)
END_MESSAGE_MAP()

// CGameDllApp 构造
CGameDllApp::CGameDllApp()
{
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}

// 唯一的一个 CGameDllApp 对象
CGameDllApp theApp;
void MainThread(void*)
{
//资源切换宏
AFX_MANAGE_STATE(AfxGetStaticModuleState());
//获得资源
HINSTANCE hResOld = AfxGetResourceHandle();

CMainView* pMainWnd = new CMainView;
pMainWnd->DoModal();
//资源切换
delete pMainWnd;
pMainWnd = NULL;

//释放自己
HANDLE hThread = ::CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)FreeLibrary,theApp.m_hInstance,0,NULL);
CloseHandle(hThread);
AfxSetResourceHandle(hResOld);
}
// CGameDllApp 初始化
BOOL CGameDllApp::InitInstance()
{
CWinApp::InitInstance();
HANDLE hThread = ::CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)MainThread,0,0,NULL);
CloseHandle(hThread);
return TRUE;
}
善者 慈悲心常在 无怨无恨 以苦为乐
默认压缩密码www.hifyl.com
文件分享密码问题:http://www.hifyl.com/read-htm-tid-4444.html
离线s40697

只看该作者 沙发  发表于: 2015-08-31
雖然看不懂探試院努力學習
研究研究
离线qq88016097

只看该作者 板凳  发表于: 2015-12-03
顶>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>www.hifyl.com
……大家好……大家好……大家好……大家好……大家好……大家好……大家好
离线markxu

只看该作者 地板  发表于: 2016-03-20
雖然看不懂探試院努力學習
好好学习
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个