你可以访问像'取消'这样的标准Windows字符串吗?

Phi*_*ght 16 c# windows localization dialog

我正在构建一个Windows对话框,其中包含标准的"确定"和"取消"按钮.鉴于Windows在其自己的对话框中使用相同的按钮文本,我是否有办法获取要在按钮上使用的正确字符串?

这样,无论使用哪种语言,我的应用程序都将拥有正确的字符串,而无需我自己将其本地化为许多不同的语言.我正在使用C#,但如果需要,可以愉快地使用平台调用来访问OS方法.

注意:是的,我可以轻松地本地化资源,但我不想找到并且必须在已经存在于Windows中时输入数以万计的不同语言字符串.请不要回答说本地化应用程序!

Han*_*ant 12

在Visual Studio:文件+打开+文件中,键入c:\ windows\system32\user32.dll.打开"字符串表"节点,然后双击"字符串表".向下滚动到800.

微软对依赖这些资源ID采取了相当严厉的立场.鉴于已经完成了你正在考虑的程序员的数量,但是他们不可能改变这些数字.你需要P/Invoke LoadLibrary()和LoadString().

但是,这个计划的最终垮台是带有MUI语言包的Vista/Win7 Ultimate.这允许用户在更新DLL中的资源字符串的情况下在语言之间切换.这样的版本总是有英文字符串.

  • 我写了一个如何加载像这样的Windows资源的例子,它甚至在多语言环境中似乎运行良好:http://www.martinstoeckli.ch/csharp/csharp.html#windows_text_resources (2认同)