草庐IT

windows - 如何在 Windows 控制台中设置 LOCALE

我需要为单个控制台设置语言环境。我想构建ApacheWicket框架(基于Maven的构建),但它在依赖en_US语言环境的测试中失败。我不想跳过测试。我不想跳过特定的失败测试。这可能吗?还是更改系统范围的语言环境是唯一的方法?谢谢 最佳答案 没有什么是Wicket特有的,我自己也没有做过。但是,一点谷歌让我想到了这个:Re:maven-surefire-pluginanddefaultlocale这再次导致SurefirePluginUsingSystemProperties.希望对你有帮助

c++ - 如何获取我的线程的语言环境名称?

例如,我可以使用_create_locale在我的C程序中设置语言环境因此:localeUS=_create_locale(LC_ALL,"English_UnitedStates.1252");但我需要的是相反的,即为调用线程检索语言环境名称(上面函数的第二个参数)。知道怎么做吗?附言。我知道现代Windows使用LCID。我需要此语言环境名称以与旧代码兼容。 最佳答案 希望您可以使用标准C++。来自std::locale::name:例子#include#include#includeintmain(){std::localel

c++ - 我可以从语言首选项中获取代码页吗?

Windows似乎至少跟踪“当前语言环境”的四个维度:http://www.siao2.com/2005/02/01/364707.aspx默认用户区域设置默认系统区域设置默认用户界面语言默认输入区域我的大脑很痛,只是试图跟踪四个不同的语言环境到底有什么用......但是,我没有理解代码页和语言环境(或LCID,或语言ID)之间的关系,所有这些似乎都不一样(例如日语(日本)是LANGID=0x411位置代码1,但日本的代码页是932)。在Unicode和窄字符串之间转换时,如何配置我们的应用程序以使用用户所需的语言作为默认MBCS目标?也就是说,我们以前是一个MBCS应用。然后我们切换

windows - InnoSetup - HKEY_LOCAL_MACHINE 的值怎么加?

我的innosetup脚本中有这个,但它根本没有在注册表中添加任何内容。[Registry]Root:HKLM;Subkey:"Software\Microsoft\Windows\CurrentVersion\Run";ValueType:string;ValueName:"Test";ValueData:"{app}\test.vbs";知道为什么不添加它吗?编辑:测试.vbs:SetoShell=CreateObject("Wscript.Shell")DimstrArgsstrArgs="cmd/crunpython.bat"oShell.RunstrArgs,0,false运

c++ - 如何在所有平台上使用 C++ 程序显示重音字符?

我正在尝试将C++11程序从Windows移植到Linux(GCC-4.9)。本来我只是在程序里面设置locale而已setlocale(LC_ALL,"");但是,它在Linux(最新版本的LinuxMint)上显示缺少字符。然后我继续将所有源文件保存为UTF-8格式,这在linux下解决了问题,但现在所有字符在windows中都乱七八糟。如果有帮助,语言是法语。有没有什么方法可以在两个平台下正确显示文本而不会有太多麻烦?非常感谢您的帮助,谢谢。voidEcranBienvenue(){charcoinHG=(char)201;charcoinHD=(char)187;charcoi

java - 如何获取系统信息语言环境 - Locale.getDefault()

目前我的系统区域设置是en-UK,它曾经是en-US(我已经重新启动了我的电脑以使这个更改生效)当我打印Locale.getDefault().getCountry().toString()时,我仍然得到US。在API中它声明:getDefault()GetsthecurrentvalueofthedefaultlocaleforthisinstanceoftheJavaVirtualMachine.也许JVM语言环境与系统语言环境无关?如果是这样,我如何在Windows上获取系统区域设置?编辑:在研究了与此相关的其他问题后,我发现说我正在处理Java6很有用。我刚刚发现在我的操作系统

windows - 批处理脚本 : local variable from function1 to function2

好吧,让我试着解释一下我的问题:我从一行开始2个不同的函数setlocalEnableDelayedExpansionfor%%iin("C:\*.*")do(call:function1"%%~i"call:function2"%%~i")goto:eof在function1中,在某个点我在本地环境中做了一个SET:setlocalEnableDelayedExpansion......setname1=blablaendlocal&SETname=%name1%echo%name%goto:eof回声确实返回了我的变量。现在解决我的问题。我退出功能1并转到功能2(请参阅第一个代码段

c++ - FormatMessage 为另一种语言

是否可以翻译systemerrorcodes特定语言?我只能通过MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US)至FormatMessage.否则,函数调用将失败并显示15100(资源加载器未能找到MUI文件)。系统错误信息存储在哪里?为什么我无法在不同于系统语言环境的语言环境中加载消息? 最佳答案 基本上,MUI代表多语言用户界面。这些是语言包。在Windows中,默认情况下不会获取它们。相反,他们必须安装以下链接可帮助您进行采购。https://support.microsoft.com/e

使用 HKEY_LOCAL_MACHINE\Software\WOW6432 节点的 Windows 32 或 64 位

我正在寻找一种非常简单的方法来确定客户使用的Windows版本是32位还是64位。我知道有一些使用.NEt的方法,但我希望避免使用它们。我只是想使用类似于下面伪代码的东西,并想知道这种方法是否可靠。IfRegistryKeyexists(HKEY_LOCAL_MACHINE\Software\WOW6432Node)ThenAssume64bitelseAssume32bit谢谢!编辑:更具体地说,我知道有几种不同的方法可以实现查明操作系统是32位还是64位的目标。但我想知道上面单独的方法是否可靠。 最佳答案 我假设您在32位进程中

c# - 访问 Windows 注册表 LOCAL_MACHINE 中的键

我在HKEY_LOCAL_MACHINE\Software\MyAppName中创建了一个key(使用regedit(我重新启动)),但是当我尝试将它们全部列出时,“MyAppName”没有显示...:(有什么线索吗?rkey=Registry.LocalMachine.OpenSubKey("Software");foreach(stringsubkeyinrkey.GetSubKeyNames()){WriteToLogFile("subkey:"+subkey);} 最佳答案 我将运用我的心理调试能力,并猜测您拥有(a)64位