AFX_MANAGE_STATE(AfxGetStaticModuleState());

  用于模块切换时的状态保护,

  1、AfxGetStaticModuleState()指向当前模块状态;

  2、当前函数调用结束后原模块的状态自动被恢复;

  3、用于DLL中调用MFC函数、类、资源是的模块状态切换;

  这个宏是和资源相关的,资源就是MFC工程里,通过可视化编辑生成的菜单,图片和对话框.就是xxxx.rc里面的东西.

  如果你的DLL里没有这些东西,则不需要使用这个宏

  如果你在DLL里的摸个函数里,要弹出一个对话框,则需要在这个函数前面加上这个宏,意思就是告诉系统,程序进入这个函数的时候,就从当前DLL去查找资源.

  也就是说,在函数堆栈结构中,(针对当前DLL)只需要在最外层入口的地方使用一次即可.并且使用了这个宏的接口,最好不要再嵌套调用,那样就相当于上面说的"告诉系统,程序进入这个函数的时候,就从当前DLL去查找资源"执行了多次.

猜你喜欢

转载自www.cnblogs.com/wjq13752525588/p/12155187.html