純資源DLL的編寫

2021-06-10 07:15:26 字數 1120 閱讀 3136

從網上看了一些教程,下面把怎樣編寫乙個純資源dll的過程和**分享下;在vc6中新建乙個win32 dll(非 mfc)專案,新建乙個資源檔案res.rc並新增到此專案中,然後點選單insert->resource插入乙個位圖資源並設定屬性為:

然後在選單project-settings在link項中加入/noentry,表示該dll沒有入口函式,最後編譯生成dll檔案。新建乙個cpp檔案內容為:

#include

extern "c"

bool winapi dllmain(handle hinstdll, dword dwreason, lpvoid lpvreserved)

編譯生成乙個dll檔案,關閉vc

下面測試上述dll檔案,新建乙個mfc工程(基於單文件),

在***view類中新增個成員變數:hmodule m_hlib,然後在建構函式中用loadlibrary()載入資源dll,比如:

m_hlib=loadlibrary(_t("resdll.dll"));

if(!m_hlib)

afxmessagebox(_t("資源載入失敗!"));

然後在ondraw函式中,編寫:

// 從dll載入位圖資源

hbitmap hbitmap=::loadbitmap(m_hlib,_t("idb_bitmap"));

if(!hbitmap)

return;

// 獲得位圖資訊

bitmap bitmap;

::getobject(hbitmap,sizeof(bitmap),&bitmap);

// 標準的bitmap繪圖

cdc memdc;

memdc.createcompatibledc(pdc);

memdc.selectobject(hbitmap);

pdc->bitblt(0,0,bitmap.bmwidth,bitmap.bmheight,&memdc,0,0,srccopy);

好了,別忘了把資源dll複製到本測試程式的debug目錄下,編譯,執行看看。完整的cpp檔案如下.

VC 製作純資源 DLL

在製做前請先備份好你的程式!純資源dll檔案實現步驟如下 1 新建立工程xxdll。使用projects的win32 dynamic link library建立純資源dll工程 也就是空的工程 把由你的程式建立的.rc,rc2,ico,bmp等 其他所有資源 檔案加入到該工程檔案中 4 在你的xx...

MFC載入純資源DLL

不同語言的資源放到不同的dll中,在執行時載入特定語言的dll。一 製作純資源dll 新建win32工程,選擇動態鏈結庫。在工程選項裡,鏈結器 高階 無入口程式 是 noentry 然後在資源裡面新增想要的各種資源。最後新增dll入口程式 includeextern c bool winapi dl...

純資源DLL製作及呼叫

dll是僅包含資源 如圖示 位圖 字串和對話方塊 的dll。使用純資源dll是在多個程式之間共享同 一組資源的好方法。提供其資源被針對多種語言進行本地化的應用程式也是一種好方法。若要建立純資源dll,請建立乙個新的win32dll 非mfc 專案,並將資源新增到此專案。在 新建專案 對話方塊中選擇 ...