vc純資源dll解決國際化問題

2021-04-18 17:46:30 字數 1037 閱讀 6236

用vc純資源dll解決國際化問題這的確是個老話重談了,因為這裡面確實也沒有什麼可以稱的上技術含量的,只是實現起來有點煩瑣,不過我還是要寫出來,希望剛接觸這方面的同行們不至於走太多的彎路。

由於mfc應用程式也有自己的資源檔案,當你呼叫mfc函式比如 cstring::loadstring 或其它 loadicon 時,mfc應用程式框架首先跟蹤搜尋exe檔案的資源,然後才是dll和mfc的資源,因此在使用純資源dll時候,必須人為先改變資源的搜尋順序,可以 通過使用 afxsetresourcehandle 函式來實現,具體實現如下:

afxenablecontrolcontainer();

if (m_bchinese)

else

afxsetresourcehandle(m_hlangdll);……}

下面開始談談具體的實現步驟。

一、建立主工程

步驟:二、建立英文版的dll

步驟:三、建立中文版的dll

具體的方法同建立英文版的dll一樣,把專案名改為chinese.只是從 project 選單中選擇 setting… 選項。然後在link標籤下"project options" 新增 "/noentry" 選項。最後,編譯並建立動態鏈結庫。

四、修改 multilanguage工程

private: bool m_bchinese;

hinstance m_hlangdll;

建構函式中初始化:

m_bchinese = true;

m_hlangdll = null;

} 在initinstance()函式修改資源載入順序:

afxenablecontrolcontainer();

if (m_bchinese)

else

afxsetresourcehandle(m_hlangdll);

……}

別忘了exitinstance()函式釋放掉載入的dll資源

if(m_hlangdll)

afxfreelibrary(m_hlangdll);

}

一步一步教你用VC純資源dll解決國際化問題

一步一步教你用vc純資源dll解決國際化問題這的確是個老話重談了,因為這裡面確實也沒有什麼可以稱的上技術含量的,只是實現起來有點煩瑣,不過我還是要寫出來,希望剛接觸這方面的同行們不至於走太多的彎路。由於mfc應用程式也有自己的資源檔案,當你呼叫mfc函式比如 cstring loadstring 或...

資源國際化

properties 檔案裡的資源必須經過編碼,不能出現中問,日文等。且必須是ascii 碼。jdk 中bin 資料夾下的native2ascii.exe 可以把資源轉換為ascii 碼。在命令提示符中輸入 native2ascii encoding utf 8 sourcefile targetf...

VC 製作純資源 DLL

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