如何从c#中访问GetLocaleInfo

本文关键字:访问 GetLocaleInfo | 更新日期: 2023-09-27 18:11:33

我正在将一个程序从VB6(一种我不知道的语言)转换为c#。在VB6代码中,它有…

LCID = GetThreadLocale        
rc = GetLocaleInfo(LCID, LOCALE_SDECIMAL, data, dataLen)

在c#中,在类主体中,我添加了

[DllImport("kernel32.dll", SetLastError = true)]
static extern int GetThreadLocale();

…这样我就可以第一个打电话了。

但在谷歌GetLocaleInfo()我看到冲突的信息。在web上,除了普通的GetLocaleInfo(),还有:

在http://www.webtropy.com/articles/art9-1.asp?f=GetLocaleInfo中,它指的是GetLocaleInfA()

在这个StackOverflow问题Windows:从locale字符串获取LCID ?这里提到了一个GetLocaleInfoEx()

我如何知道使用哪一个,以及如何设置它被调用?(顺便说一句,我还需要为SetLocaleInfo()做同样的事情。

如何从c#中访问GetLocaleInfo

使用合适的。net Framework方法:

http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.lcid (v = vs.110) . aspx

Thread.CurrentThread.CurrentCulture.CultureInfo.LCID;