2012-03-30 77 views
0

如果Windows设置为非英文显示语言,Windows中的某些UI元素也会更改(例如,MessageBoxButton以选定的显示语言显示)。有什么方法可以获得这些文本资源并将其集成到我的.Net应用程序中?如何从当前显示语言获取Windows文本资源

+1

可能的重复[是否有WinForms中的本地化常用文本存储库?](http://stackoverflow.com/questions/4663855/is-there-a-repository-for-localized-common-text-in- winforms) – 2012-03-30 06:17:09

+0

这正是我正在寻找的。 – sjlewis 2012-04-03 12:55:29

回答

2

理论上,你可以。 Windows common controls使用%WINDIR%\ System32 {LocaleIdentifier}中的MUI文件检索相关语言的本地化字符串。有一个example on MSDN,它显示了如何在win32中执行相同的操作。因此,您可以使用与Windows控件相同的ID从comctl32.dll.mui和comdlg32.dll.mui加载本地化字符串,尽管P/Invoke。但是这不会很好,可能会导致Windows的未来更新(这是私人数据,没有承诺它不会改变),并会坦率地看起来矫枉过正。维护您自己的一组本地化字符串更容易和更安全!

相关问题