SatDLL 示例:在 Win32 应用程序中实现多语言资源

此 SatDLL 示例说明与本地化和全球化有关的若干事情:

  • 如何设置这样的解决方案:它生成一个主 EXE 文件和各附属 DLL,这些 DLL 包含用户界面的不同语言版本。

  • 实现附属 DLL 加载机制的建议方法,此机制具有在选定语言不可用时可供替换的语言。

  • 检测任何 Windows 版本上的用户界面首选语言的代码。

  • 收到用户的更改请求后如何动态切换用户界面语言(未说明的事情是如何能够保持用户界面语言的用户选择)。

  • 如何使用一般字符编码映射函数,以便能够从相同的源代码生成 ANSI 版本和 Unicode 版本的应用程序。

安全说明安全说明

此代码示例用于阐释一个概念,并且仅显示与此概念相关的代码。该代码可能不符合特定环境的安全要求,因此不应原样搬用所显示的代码。我们建议您添加安全性代码和错误处理代码,以使项目更加安全可靠。Microsoft“原样”提供此代码示例,不提供任何保证。

获取示例和安装示例的说明:

访问 Visual Studio 中的示例

  • 在**“帮助”菜单上,单击“示例”**。

    默认情况下,这些示例安装在 drive:\Program Files\Microsoft Visual Studio 10.0\Samples\ 中。

  • 有关此示例的最新版本以及其他示例的列表,请参见 MSDN 网站上的 Visual Studio 示例

生成并运行示例

生成并运行此示例

  1. 打开解决方案文件 satdll.sln。

  2. 从“生成”菜单中单击**“生成解决方案”**。

  3. 在**“调试”菜单上,单击“开始执行(不调试)”**。

在默认配置中,此解决方案生成一个 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

请参见

概念

MFC 应用程序中的本地化资源:附属 DLL

其他资源

International Samples

常规示例