![Windows7 - ewf - 控制用户界面语言](https://linux22.com/image/1568873/Windows7%20-%20ewf%20-%20%E6%8E%A7%E5%88%B6%E7%94%A8%E6%88%B7%E7%95%8C%E9%9D%A2%E8%AF%AD%E8%A8%80.png)
我正在为 Windows Embedded Standard 开发一个应用程序,它使用 EWF 来保护 c:\ 驱动器。
我希望能够控制用户的 UI 语言,该语言由此注册表项 \HKEY_CURRENT_USER\Control Panel\Desktop\PreferredUILanguages 设置
该密钥需要在用户登录之前设置。但是,我们使用的是自动登录。
我尝试将密钥设置为 ScheduledTask,以便在系统启动时以该用户身份运行。但是,该任务在自动登录启动之前不会运行。
我也曾尝试编写在 \HKLM\System\CurrentControlSet\Control\Session Manager\Execute 中运行的程序。但是,这些程序在 NT 系统而不是 Win32 子系统中运行,并且具有不同的 API,而我没有编写它们的经验。
当 EWF 到位时,是否有方法可以控制 PreferredUILanguages 设置?
答案1
您需要向默认用户配置文件写入一个值。所有新配置文件都将继承它。
reg load HKLM\temp C:\Users\Default\ntuser.dat
reg add HKEY_LOCAL_MACHINE\temp\Control Panel\Desktop /v PreferredUILanguages /d en-US /t REG_SZ /f
(put here as many commands as you wish)
reg unload HKLM\temp
当然,如果尚未创建用户配置文件,则这将适用。
您还可以设置一个在登录时应用于所有用户配置文件的 GPO。这是最好的方法:
Administrative Templates (Users) > Regional and Language Options > Restricts the UI languages Windows should use for the selected user
附加信息
政府采购组织(GPO): https://getadmx.com/?Category=Windows_10_2016&Policy=Microsoft.Policies.Globalization::LockUserUILanguage