dll调用主程序函数
利用GetModuleHandle()这个函数就可以获取主程序的句柄,然后在通过GetProcAddress()这个函数获取主程序的函数地址;
具体代码如下:
HMODULE hModule=GetModuleHandle(NULL);//获取主程序句柄
if (hModule)//判断是否获取成功
{
typedef void ( *LPGetCourseFlagsByProjID )( ULONG nDongle,LONG nCourseID,VARIANT_BOOL* ,unsigned char* );//设置要获取的主程序的函数的接口
LPGetCourseFlagsByProjID lpfnRegister;//设置接收地址变量
lpfnRegister=(LPGetCourseFlagsByProjID)GetProcAddress(hModule,"GetCourseFlagsByProjID");//获取"GetCourseFlagsByProjID"名字为这个的函数地址
unsigned char cDogFlags[9]={0};
(*lpfnRegister)( m_nDongle,m_nCourseID,&bResult,cDogFlags );//调用函数
}