SatDLL 範例:在 Win32 應用程式內實作多語系資源
更新:2007 年 11 月
SatDLL 範例會示範許多與當地語系化和全球化相關的重點:
如何設定方案來建置一個主要的 EXE 檔和包含不同語言版本之使用者介面的個別附屬 DLL (Satellite DLL)。
實作一個附屬 DLL 載入機制,並且當選定語言無法使用時,提供備用語言的建議方式。
可在任何版本的 Windows 上偵測偏好之使用者介面之語言的程式碼。
如何根據使用者的變更要求,動態地切換使用者介面的語言 (但是並不會示範如何保留使用者介面語言的使用者選擇)。
如何使用泛用的字元編碼對應函式,以便使用相同的原始程式碼來建置應用程式的 ANSI 和 Unicode 版本
安全性注意事項: |
---|
這個程式碼範例僅供概念說明之用,同時因為範例中的程式碼撰寫並沒有周全的顧及所有安全性問題,所以本範例不適用於實際執行的應用程式或網站中。如果使用者擅自將範例程式碼用於其他意圖而導致連帶事件或重大損害時,Microsoft 將不承擔任何責任。 |
若要取得範例和指示以便進行安裝:
按一下 Visual Studio [說明] 功能表上的 [範例]。
如需詳細資訊,請參閱尋找範例檔案。
最新版的完整範例清單可從 Visual Studio 2008 範例網頁 (英文) 取得。
您也可以將範例置於電腦硬碟中。根據預設,範例和讀我檔案都會複製到 \Program Files\Visual Studio 9.0\Samples\ 下的資料夾中。對於所有的 Visual Studio Express 版,所有範例都可在線上找到。
建置和執行範例
若要建置和執行這個範例
開啟方案檔 satdll.sln。
從 [建置] 功能表中,按一下 [建置方案]。
從 [偵錯] 功能表中,按一下 [啟動但不偵錯]。
在預設的組態中,此方案會建置 Unicode 應用程式,它要求 Windows 2000 或較新的版本必須支援西歐語言,並安裝日文,如此方能正確地顯示使用者介面中的所有字元。
透過將一般專案設定中的 [字元集] 變更為 [使用多位元組字元集],本範例可針對舊版的 Windows 平台來編譯。針對該舊版 Windows,您將只能在 ANSI 字碼頁支援的語言中進行切換。
注意事項: |
---|
在偵錯本範例時,目前的目錄是方案目錄,而非偵錯目錄,因此,附屬 DLL (1031、1033 和 1041) 的目錄都建立於方案目錄內。當您將應用程式傳遞給使用者時,這些附屬 DLL 目錄當然應建立於主要執行檔所在的目錄內。 |
關鍵字
本範例會使用下列關鍵字:
LoadString; LoadMenu; LoadAccelerators; LoadIcon; LoadCursor; DialogBox; CreateFontIndirect; DrawText; InvalidateRect; UpdateWindow; DestroyMenu; SetMenu; DrawMenuBar; GetLocaleInfo; GetCurrentDirectory; FindFirstFile; FindNextFile; LoadLibrary; EnumResourceLanguages; GetVersionInfoEx; RegOpenKeyEx; RegQueryValueEx; RegCloseKey; GetUserDefaultUILanguage; GetUserDefaultLangID; _tWinMain; _tcscpy; _tcsncpy; _tcslen; _tcsclen; _tcscat; _ttoi; _itot