2010-09-07 55 views
1

我正在使用法语本地化的Windows操作系统。如何在法语本地化的Windows上获得英文用户名?

我正在使用GetUserName()Windows API获取当前登录进程的用户名。

落地窗返回“SYSTEME”,而不是“系统”为服务流程。正因为如此,我们的系统软件在特定情况下失败。

有没有办法在法语Windows上获得英文用户名?

+2

这属于serverfault。但是,没有,因为用户在安装过程中实际上被命名为Système,您可以做的唯一事情就是重命名用户。这可能或可能不是一个好主意。 – 2010-09-07 07:27:35

回答

2

我可能会混淆帐户,但我认为你应该使用SID而不是用户名进行比较。例如,Local System帐户始终有SID​​。

你可以找到标准的SID这里的列表:Well-known security identifiers in Windows operating systems

如果你需要从帐户名去SID可以使用LookupAccountName API(这样做的,也许更容易的方法,但是这是第一个我能想到)。

+0

根据LocalOSystem上的MSDN(http://msdn.microsoft.com/en-us/library/ms684190(VS.85).aspx),即使用户名已本地化,您应该*能够使用。\ LocalSystem作为一个帐户名称,只是不适用于'LookupAccountName',因为本地系统无法被安全子系统识别 – 2010-09-07 08:57:59

+0

@Yoni:虽然我认为问题在于他不是“使用”它,而是试图比较它反对一个字符串。但我忘了你不能“查找”本地系统。 – 2010-09-07 09:06:54

相关问题