سلام دوستان

یه سورس جالب براتون میذارم

در این پروژه ابتدا رفرنس .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(); } } }