回覆列表
  • 1 # 陽光魯寧

    如何製作帶MFC介面的DLL,解答如下

    新建MFC DLL專案,專案名稱“MyDLL”,建立新解決方案,解決方案名稱為“MFCDLL”。

    步驟閱讀.步驟閱讀.3建立MFC DLL專案成功。執行時庫選擇:屬性-->c/c++-->程式碼生成-->執行庫 “多執行緒除錯 DLL (/MDd)”。

    步驟閱讀.步驟閱讀.5動態庫將定義一個匯出函式,該函式返回匯出介面基類的指標。在IHpDllWin.cpp寫匯出介面:

    // 定義匯出介面

    extern "C" __declspec(dllexport) IHpDllWin* ShowDialog()

    {

    // 切記,此處需要加下面這行程式碼,不然對話方塊顯示不出來。

    AFX_MANAGE_STATE(AfxGetStaticModuleState());

    IHpDllWin *ph = new IHpDllWin;

    ph->Create(IHpDllWin::IDD);

    ph->ShowWindow(SW_SHOW);

    return ph;

    }

    6生成MyDLL.dll。MFC DLL程式建立完成。

    7新建MFC應用程式,名稱為MyMFC,解決方案名稱為MFCEXE。

    步驟閱讀.10採用動態方式呼叫該動態庫,呼叫步驟如下:

    1.載入動態庫

    HINSTANCE m_hDll = LoadLibrary("MyDLL.dll");

    if (NULL == m_hDll)

    {

    MessageBox("載入 MyDLL.dll 失敗");

    }

    2.獲取匯出函式指標

    typedef IHpDllWin* (*hpDllFun)();

    hpDllFun pShowDlg = (hpDllFun)GetProcAddress(m_hDll,

  • 中秋節和大豐收的關聯?
  • 遇到違緣怎麼辦,遇到違緣,遇到,違緣是什麼意思,遣?