2010-09-07 61 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

相關問題