VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1537|回复: 2

用FreeLibraryAndExitThread还是CreateThread?

[复制链接]
72_avatar_middle
最佳答案
1 
online_vip 发表于 2016-10-10 14:05:15 | 显示全部楼层 |阅读模式
3驿站币
本帖最后由 qq9893146 于 2016-10-10 14:10 编辑
  1. CMainDlg *pMainDlg;
  2. DWORD WINAPI ShowDlg1(LPARAM lpData)
  3. {
  4.         AFX_MANAGE_STATE(AfxGetStaticModuleState());
  5.         HINSTANCE hResOld = AfxGetResourceHandle();
  6.         AfxSetResourceHandle(theApp.m_hInstance);

  7.         pMainDlg = new CMainDlg;
  8.         pMainDlg->DoModal();
  9.         delete pMainDlg;
  10.         FreeLibraryAndExitThread(theApp.m_hInstance, 1);

  11.         AfxSetResourceHandle(hResOld);

  12.         return TRUE;
  13. }

  14. DWORD WINAPI ShowDlg2(LPVOID lpParam)
  15. {
  16.         AFX_MANAGE_STATE(AfxGetStaticModuleState());
  17.         HINSTANCE hResOld = AfxGetResourceHandle();
  18.         AfxSetResourceHandle(theApp.m_hInstance);

  19.         pMainDlg = new CMainDlg();
  20.         pMainDlg->DoModal();
  21.         delete pMainDlg;
  22.         pMainDlg = nullptr;
  23.         HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)FreeLibrary, theApp.m_hInstance, 0, 0);
  24.         CloseHandle(hThread);

  25.         AfxSetResourceHandle(hResOld);

  26.         return 0;
  27. }
复制代码



问:
使用FreeLibraryAndExitThread 还是CreateThread来FreeLibrary 两者的优缺点是什么?

还有
        AFX_MANAGE_STATE(AfxGetStaticModuleState());
        HINSTANCE hResOld = AfxGetResourceHandle();
        AfxSetResourceHandle(theApp.m_hInstance);
        .....
        .....
        AfxSetResourceHandle(hResOld);
的作用,添加与否的结果各是什么





上一篇:下面哪种代码高效和更符合标准
下一篇:WIN32_FIND_DATA 获取文件长度问题
51_avatar_middle
最佳答案
82 
online_admins 发表于 2016-10-10 14:14:56 | 显示全部楼层
既然有 FreeLibraryAndExitThread API 了,还是感觉这个 API 会好一些。
另外:
AFX_MANAGE_STATE(AfxGetStaticModuleState());
HINSTANCE hResOld = AfxGetResourceHandle();
AfxSetResourceHandle(theApp.m_hInstance);
这几句是进行资源的切换,默认资源都会从EXE的资源中找,所以,如果你的对话框资源在DLL中,那么就必须要这么切换了
72_avatar_middle
最佳答案
1 
ico_lz  楼主| 发表于 2016-10-10 15:15:20 | 显示全部楼层
Syc 发表于 2016-10-10 14:14
既然有 FreeLibraryAndExitThread API 了,还是感觉这个 API 会好一些。
另外:
AFX_MANAGE_STATE(AfxGet ...

但是不写这个,也是可以.....MFC的dll
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-9-19 23:13

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表