VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1148|回复: 2

[求助] 用FreeLibraryAndExitThread还是CreateThread?

[复制链接]
72_avatar_middle
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
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
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

本版积分规则

关闭

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

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

GMT+8, 2019-3-19 06:55

Powered by Discuz! X3.4

© 2009-2019 cctry.com

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