純資源DLL製作及呼叫

2022-02-07 04:12:17 字數 1302 閱讀 1358

dll是僅包含資源(如圖示、位圖、字串和對話方塊)的dll。使用純資源dll是在多個程式之間共享同

一組資源的好方法。提供其資源被針對多種語言進行本地化的應用程式也是一種好方法。

若要建立純資源dll,請建立乙個新的win32dll(非mfc)專案,並將資源新增到此專案。

在「新建專案」對話方塊中選擇「win32專案」,並在「win32專案嚮導」中指定dll專案型別。

為dll建立乙個包含資源(如字串或選單)的新資源指令碼,並儲存該.rc檔案。如果該.rc檔案包含點陣圖用記事

本開啟它,可以看到下面這樣的一段

dib_bkgd_hfbitmap\"bkgd_**.bmp\"

dib_bkgd_gtbitmap\"bkgd_***.bmp\"

dib_bkgd_bfbitmap\"bkgd_*****.bmp\"

這些就是針對點陣圖的申明,將相應的點陣圖新增到這個裡面就行了。

在「專案」選單上單擊「新增現有項」,然後在專案中插入這個新的.rc檔案。

指定/noentry鏈結器選項。/noentry防止鏈結器將_main引用鏈結到dll中;此選項是建立純資源dll所

必需的。

生成dll。

使用純資源dll的應用程式應呼叫loadlibrary來顯式鏈結到dll。若要訪問資源,請呼叫一般函式

findresource和loadresource,這兩個函式對任何型別的資源都有效,或呼叫下列資源特定的函式之一:

formatmessage

loadaccelerators

loadbitmap

loadcursor

loadicon

loadmenu

loadstring

使用完資源後,應用程式應呼叫freelibrary。

下面部份是說明一下資源中的bmp如何動態載入並顯示

hmodule=loadlibrary(\"extenddll.dll\");

hdcm_hdcmem;

m_hdcmem=createcompatibledc(hdc);

bitmapbm;

rectrect;

hbitmaphbitmap=loadbitmap(hmodule,\"dib_bkgd_hf\");//makeintresource(idb_bitmap1)

//hbitmaphbitmap=(hbitmap)loadimage(hmodule,\"dib_bkgd_hf\",image_bitmap,0,0,lr_defau

ltsize);

getobject(hbitmap,sizeofbitmap,&bm);

VC 純資源DLL製作及呼叫

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

VC 製作純資源 DLL

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

製作資源dll

製作資源dll 當製作多語言版本的軟體的時候,製作不同語言的資源dll,通過切換dll而實現不同的語言版本是非常有意義的。通常,dll從dllmain 函式開始。製作資源dll的時候,可以沒有dllmain 函式。1 選擇 win32 dynameic link library 2.製作乙個空的工程...