我做了个MFC的dll,选择的是Regular Dll using share MFC DLL
//头文件如下:
#ifdef DLLDIR_EX
#define DLLDIR __declspec(dllexport)
#else
#define DLLDIR __declspec(dllimport)
#endifextern "C"
{
bool DLLDIR AddNatPortMap(WORD internalPort ,CString protocol,CString description="",WORD externalPort=-1);
}
class DLLDIR MyUPnP
{//...
}//CPP文件如下
static MyUPnP UPNP ;//全局的静态类
bool AddNatPortMap(WORD internalPort ,CString protocol,CString description,WORD externalPort)
{
return UPNP.AddPortMap(internalPort,protocol,description,externalPort);
}新建立一工程,把lib、Dll和头文件都拷贝到该工程下,然后在project->setting->link->object/library 填入XXX.lib就可以
//头文件如下:
#ifdef DLLDIR_EX
#define DLLDIR __declspec(dllexport)
#else
#define DLLDIR __declspec(dllimport)
#endifextern "C"
{
bool DLLDIR AddNatPortMap(WORD internalPort ,CString protocol,CString description="",WORD externalPort=-1);
}
class DLLDIR MyUPnP
{//...
}//CPP文件如下
static MyUPnP UPNP ;//全局的静态类
bool AddNatPortMap(WORD internalPort ,CString protocol,CString description,WORD externalPort)
{
return UPNP.AddPortMap(internalPort,protocol,description,externalPort);
}新建立一工程,把lib、Dll和头文件都拷贝到该工程下,然后在project->setting->link->object/library 填入XXX.lib就可以
解决方案 »
- 自定义消息实现两个工作线程的通信,自定义消息函数里面写什么代码?
- 怎样才能在EDIT框内截获粘贴的消息
- 注意!!!!!!!一定来看看!100分噢!
- 你想找兼职么?关于一个从CEdit或CRicheditCTRL类派生的类!
- error LNK2001: unresolved external symbol _DirectSoundCreate8@12
- PsSetCreateProcessNotifyRoutine一问
- 有没有内存块到内存块的压缩和解压缩原码或者库?急!!!再现等待************
- 滚动条?
- 连接出错:error LNK2001: unresolved external symbol "unsigned long (__stdcall* GetModuleFileNameEx)(void *,struct HINSTANCE__ *,
- 什么时候需要采用CComObjectNoLock而不是CComObject?
- 怎么编写WINDOWS窗口程序
- 如何做一个更换位图的功能?急!
使用LoadLibraryEx()即可
getprocaddress()
FreeLibrary()如:
HMODULE m_hDll = LoadLibrary("MFC.dll");
IMPORT m_fUpnP = (IMPORT) GetProcAddress(m_hDll,"MyUPnP");
if(m_fUpnP) m_fUpnP();用完之后
FreeLibrary(m_hDll);