關於資源DLL的開發

2021-05-27 20:31:42 字數 392 閱讀 6450

上面兩篇文章很不錯,分別是講 cwnd::getdlgitem和dll與exe模組切換的問題,mfc 模組中可能存在資源,在預設情況下,程序會在當前模組中查詢資源(dll或者exe),這樣就導致可能會找不到本來存在的資源(恰好在另乙個模組)。

對於cwnd::getdlgitem,跟cwnd::fromhandle ,是另乙個問題,她們獲取到的可能是臨時的物件(如果在程式裡面沒有物件與該資源相關聯,會自動建立乙個臨時物件,如果存在物件與之關聯,則不會,直接返回該物件),這樣該位址不能儲存起來留到後面使用,需要注意了。。

所以大家在做一些包含資源的dll時,需要注意使用afx_manage_state(afxgetstaticmodulestate()),另外對外介面最好傳遞控制代碼,而不是cwnd指標之類,因為可能無法儲存下來後續使用。

製作資源dll

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

純資源DLL的編寫

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

DLL中使用資源

1 在dll中使用對話方塊資源 hinstance hold afxgetresourcehandle afxsetresourcehandle getmodulehandle dll 開啟對話方塊 afxsetresourcehandle hold 2 在dll中使用activex控制項 hres...