سلام دوستان
یه سورس جالب براتون میذارم
در این پروژه ابتدا رفرنس .directory.service رو به پروژه اضافه کنید
در فرم از یه picbox و listbox استفاده کردم و متغییری برای هرکدام تعریف شده که مسیر کاربری جاری نیز مشخص شده
این سورس بسیار کاربردی هست برای کاربردها و مقاصد خاص بکار میره
حین اجرا تصویر پروفایل کاربر ویندوز و لیستی از یوزرهای ویندوز نمایش داده میشه
نام کاربر نیز درون یه لیبل قرار داده شده
{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } [DllImport("shell32.dll", EntryPoint = "#261", CharSet = CharSet.Unicode, PreserveSig = false)] public static extern void GetUserTilePath( string username, UInt32 whatever, // 0x80000000 StringBuilder picpath, int maxLength); public string GetUserTilePath(string username) { var sb = new StringBuilder(1000); GetUserTilePath(username, 0x80000000, sb, sb.Capacity); return sb.ToString(); } public Image GetUserTile(string username) { return Image.FromFile(GetUserTilePath(username)); } private void listuser() { var path = string.Format("WinNT://{0},computer", Environment.MachineName); using (var userget = new DirectoryEntry(path)) { var userNames = from DirectoryEntry dirchild in userget.Children where dirchild.SchemaClassName == "User" select dirchild.Name; foreach (var n in userNames) { listBox1.Items.Add(n); } } } private void Form1_Load(object sender, EventArgs e) { pictureBox1.Image = GetUserTile(Environment.UserName.ToString());
label1.Text = Environment.UserName.ToString(); } private void button1_Click(object sender, EventArgs e) { listuser(); } } }