Sar*_*thy 5 .net winforms c#-2.0
我需要获取在我的局域网中登录特定机器的用户名.建议我通过在C#.net windows应用程序中传递机器名来获取用户名的最佳方法.还要考虑许可.
谢谢
小智 16
//How about this:
string strUserName = WindowsIdentity.GetCurrent().Name;
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用"strUserName"变量执行任何操作.请注意,如果存在域名,它还包含域名.
大家好,我得到了我的问题的解决方案。我使用 WMI 来获取用户名。
try {
object[] objArr = new object[2];
ManagementScope ms = new ManagementScope("Path");
ms.Connect();
if (ms.IsConnected)
{
ObjectQuery Query = new ObjectQuery("SELECT * FROM Win32_Process WHERE Name='explorer.exe'");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(ms, Query);
foreach(ManagementObject objQuery in searcher.Get())
{
objQuery.InvokeMethod("GetOwner", objArr); // objArr[0] contains the userId and objArr[1] contains Domainname
userName = Convert.ToString(objArr[0]);
}
}
}
catch (System.Exception ex)
{
throw ex;
}
Run Code Online (Sandbox Code Playgroud)
谢谢
| 归档时间: |
|
| 查看次数: |
9572 次 |
| 最近记录: |