VC# 怎样获取系统用户名,图片和用户类型

renji53521 2012-05-08 09:34:08
我要写三个 click 事件,来显示三个信息,用 GetUserName(); 显示错误。应该怎么写才适合XP,VISTA 和WIN7系统显示这三个系统用户信息。。代码如下。。我应该怎样写?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CC
{
public partial class Home : Form
{
public Home()
{
InitializeComponent();
}

private void pictureBox1_Click(object sender, EventArgs e)
{
//show user account picture
}

private void label1_Click(object sender, EventArgs e)
{
//show user account Name
}

private void label2_Click(object sender, EventArgs e)
{
// show user account Type
}
}
}
...全文
166 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
renji53521 2012-05-09
  • 打赏
  • 举报
回复
自己顶起。。求高手指点。
wangsong145 2012-05-09
  • 打赏
  • 举报
回复

string userName = System.Environment.UserName;
wangsong145 2012-05-09
  • 打赏
  • 举报
回复
不好意思,回复错了
wangsong145 2012-05-09
  • 打赏
  • 举报
回复
如果是数据访问的话建议楼主看看三层架构的类库设计
  • 打赏
  • 举报
回复
1.获得当前用户名:


using System.Management;

SelectQuery query = new SelectQuery("select * from Win32_UserAccount where Name='" + System.Environment.UserName + "'");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
foreach (ManagementObject envVar in searcher.Get())
{
string fullName = envVar["FullName"].ToString();
}


2。获得当前用户权限(参考了 http://pcheruku.wordpress.com/2008/07/31/sample-c-code-to-get-user-login-type/)


using System.Security.Principal;

WindowsIdentity ident = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(ident);

string userType = "";
if (principal.IsInRole(WindowsBuiltInRole.Administrator))
{
userType = "Administrator";
}
else if (principal.IsInRole(WindowsBuiltInRole.PowerUser))
{
userType = "Power User";
}
else if (principal.IsInRole(WindowsBuiltInRole.User))
{
userType = "User";
}
else if (principal.IsInRole(WindowsBuiltInRole.Guest))
{
userType = "Guest";
}


3.获取用户图片,参考http://go4answers.webhost4life.com/Example/get-windows-user-account-name-picture-77793.aspx

renji53521 2012-05-08
  • 打赏
  • 举报
回复
就是你按电脑的“开始”菜单的时候,你会看到一个小图片,还有当前的用户名,和该用户的类型,即是系统管理员,还是超级用户,我现在想在窗口的 pictureBox1显示那个小图片,label1直接显示用户名,label2显示该用户的类型。
laoniu19851106 2012-05-08
  • 打赏
  • 举报
回复
没看明白

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧