从列表框中删除未知值

时间:2017-07-24 05:24:25

标签: c#

我已将C:\ Users \中的所有目录列入列表框。

listBox1.Items.AddRange(Directory.GetDirectories("C:\\Users\\", "*" , SearchOption.TopDirectoryOnly));

Windows中的所有用户都有文件夹\\ AppData \\但我不想弄乱这些文件夹,因为他们有重要的Windows文件,假设计算机的人使用我的软件有2或者更多的Windows帐户,所有这些都有\\ AppData \\文件夹,我曾经做过第一个用户:

listbox1.items.remove("C:\\Users\\" + Environment.UserName + "\\AppData\\")

但是我不知道其他用户的名字,有没有办法在不知道用户名的情况下删除列表框中的所有AppData文件夹?

1 个答案:

答案 0 :(得分:0)

您可以使用此代码获取用户名

class Program
{
    static void Main(string[] args)
    {

        SelectQuery query = new SelectQuery("Win32_UserAccount");
        ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
        foreach (ManagementObject envVar in searcher.Get())
        {
            Console.WriteLine("Username : {0}", envVar["Name"]);
        }

        Console.ReadLine();

    }
    // end of class
}

您可能需要添加System.Management

的参考