我需要使用一个编码相当差的应用程序,它要求我使用 en-US 区域设置,或者更具体地说,在执行该应用程序时,日期格式需要为 en-US 格式。当我经常使用我的电脑时,我不想使用 en-US 日期格式。我希望只需双击即可启动此应用程序,而无需在使用它时手动更改区域设置。
我已经创建了一个特殊用户作为“管理员”组的成员(该程序需要提升),并将其区域设置设置为 en-US,目的是使用runas
不同的用户凭据启动该应用程序,希望如果我以这种方式启动该应用程序,它将选择给定的用户区域设置。
我也尝试过使用 SysInternals Suite 中的 PsExec 来执行此操作。
但是,应用程序仍然使用我的区域设置。我的操作系统是 Windows 10 64 位。有人知道吗?
编辑:链接(可能重复)问题的接受答案与我已经尝试过的答案相同(现在为清楚起见用粗体标记)。
编辑2:我尝试启动的应用程序是 32 位的,但需要提升。
答案1
我已经能够使用一种简单、快速且粗略的方法来解决这个特殊问题。由于此应用程序只需要更改日期格式(更具体地说是短日期格式),因此我创建了一个应用程序,它:
- 从注册表保存当前日期格式(来自 HKCU\Control Panel\International)
- 将日期格式更改为我启动的应用程序所需的格式
- 启动应用程序
- 等待应用程序加载
- 将日期格式设置值更改回先前的值
https://drive.google.com/open?id=1RF_vu_-5Qk_ytE93iRzfK0zJGi5706ey
需要 .NET Framework 4.6。包含 appSettings.json,可让您更改要启动的应用程序、参数和要设置的日期格式。