AFX_MANAGE_STATE是一个宏,其原型为: AFX_MANAGE_STATE( AFX_MODULE_STATE* pModuleState ) 该宏用于将pModuleState设置为当前的有效模块状态。当离开该宏的作用域时(也就离开了pModuleState所指向栈上对象的作用域),先前的模块状态将由AFX_MODULE_STATE的析构函数恢复。 方法二 在DLL接口函数中使用: AfxGetResourceHandle(); AfxGetResourceHandle用于获取当前资源模块句柄,而AfxSetResourceHandle则用于设置程序目前要使用的资源模块句柄。 我们将DLL中的接口函数ShowDlg改为: void ShowDlg(void) 通过AfxGetResourceHandle和AfxSetResourceHandle的合理变更,我们能够灵活地设置程序的资源模块句柄,而方法一则只能在DLL接口函数退出的时候才会恢复模块句柄。方法二则不同,如果将ShowDlg改为: extern CSharedDllApp theApp; //需要声明theApp外部全局变量 在应用程序主对话框的“调用DLL”按钮上点击,将看到两个对话框,相继为DLL中的对话框(图13)和EXE中的对话框(图14)。 |
正在阅读:VC++动态链接库(DLL)编程深入浅出(三)VC++动态链接库(DLL)编程深入浅出(三)
2005-09-23 09:57
出处:PConline
责任编辑:moningfeng
键盘也能翻页,试试“← →”键