【问题标题】:Get Windows user C# [duplicate]获取 Windows 用户 C# [重复]
【发布时间】:2013-06-27 01:11:27
【问题描述】:

我有一个 WPF 应用程序需要获取用户的 Windows 用户名。我正在使用以下代码行:

MessageBox.Show("Your username is:\n" + WindowsIdentity.GetCurrent().Name);

这在我的计算机和我们其他开发人员的计算机上运行良好,但对其他人来说,它会崩溃。我假设这是一个权限问题。这是错误:

Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: notesformultipleproperties.exe
Problem Signature 02: 1.0.0.0
Problem Signature 03: 51cb04a1
Problem Signature 04: PresentationFramework
Problem Signature 05: 4.0.0.0
Problem Signature 06: 504dc7da
Problem Signature 07: 7b4d
Problem Signature 08: 0
Problem Signature 09: System.Windows.Markup.XamlParse
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt

无论用户有什么权限,我都可以允许这行代码运行吗?

【问题讨论】:

  • 您只需要用户名,还是还需要域信息? Environment.UserName提供域,而您当前的方法会。

标签: c# wpf


【解决方案1】:

Environment.UserName 怎么样?它将返回“当前进程正在运行的用户名”。

【讨论】:

    【解决方案2】:

    您可以使用Environment.UserName 而不是获取WindowsIdentity。这需要较少的权限,并且可能无需您当前需要的提升权限即可工作。

    【讨论】:

      【解决方案3】:

      【讨论】:

      • 那为什么还要再发一篇呢?
      • 因为我当时没有足够的声望来标记为重复或对原始帖子发表评论:)
      • 然而,这不是一个答案。标记。
      • 怎么不是答案?它提供的答案与其他两个答案(包括接受的答案)相同吗?我只是承认存在另一个具有相同答案的问题。
      • 他们是对的。您应该将其留在原始问题的 cmets 中。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 2011-06-12
      • 2016-01-28
      • 1970-01-01
      • 2015-02-08
      • 1970-01-01
      相关资源
      最近更新 更多