zoukankan      html  css  js  c++  java
  • 如何查看 动态库资源 加载是否正确问题

    如何查看 动态库资源 冲突问题
    在调用资源前使用

    以下是在 dll 中的定义
    CLDCControlDialog * CLDCFilesControl::DoModalPropertyDlg03(HWND hParent)
    {
     m_pPropertyDlg = new CFilesPropertyDlg2(CWnd::FromHandle(hParent));
    }

    以下是 EXE 对 dll的调用

    CDialog * CLeadShowView::DoModalPropertyDlg03(CLDCControl40 *pCtrl, CWnd *pEdtWnd)
    {
     //AFX_MANAGE_STATE(AfxGetAppModuleState());
     m_pLDCControlDialog = pCtrl->DoModalPropertyDlg03(this->m_hWnd);
    }

    要判断在dll弹出对话框时,dan当前资源需要做
    CLDCControlDialog * CLDCFilesControl::DoModalPropertyDlg03(HWND hParent)
    {
     HINSTANCE dll_hInstance = AfxGetResourceHandle(); !!!
     m_pPropertyDlg = new CFilesPropertyDlg2(CWnd::FromHandle(hParent));
    }

    CDialog * CLeadShowView::DoModalPropertyDlg03(CLDCControl40 *pCtrl, CWnd *pEdtWnd)
    {
     HINSTANCE exe_hInstance = AfxGetResourceHandle(); !!!
     m_pLDCControlDialog = pCtrl->DoModalPropertyDlg03(this->m_hWnd);
    }

    然后只需要看 dll_hInstance 和 exe_hInstance 区别,如果相同,说明调用资源仍然是exe的资源,

    dll_hInstance应该等于
    DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
    {
    }

    中的hInstance 参数

  • 相关阅读:
    js打印指定元素内容
    c# RedisHelper
    T4生成整理
    T4随记
    c# 文本超长截断
    mysql自动安装教程说明
    完全卸载mysql免安装版
    解决WebClient或HttpWebRequest首次连接缓慢问题
    c# 停靠窗体
    c#透明panel
  • 原文地址:https://www.cnblogs.com/carl2380/p/1919537.html
Copyright © 2011-2022 走看看