在XP
windows explorer -> my computer下面还有 MY PICTURES 等东西
不知道怎么用程序取来这些东西?

解决方案 »

  1.   

    //C#资源管理器源码
    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using System.IO;
    using System.Runtime.InteropServices;namespace myTree
    {
     /// <summary>
     /// Form1 的摘要说明。
     /// </summary>
      public class Form1 : System.Windows.Forms.Form
      {
        private System.Windows.Forms.ImageList TreeImageList;
        private System.Windows.Forms.MainMenu mainMenu1;
        private System.Windows.Forms.MenuItem menuItem1;
        private System.Windows.Forms.ListView listView1;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.TreeView treeView1;
        private System.Windows.Forms.Panel panel2;
        private System.Windows.Forms.Panel panel1;
        private System.Windows.Forms.Splitter splitter1;
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.ImageList LisrimageList;
        private System.Windows.Forms.ImageList LisrimageList2;
        private System.Windows.Forms.StatusBar statusBar1;
        private System.Windows.Forms.StatusBarPanel statusBarPanel1;
        private System.Windows.Forms.StatusBarPanel statusBarPanel2;
        private System.Windows.Forms.MenuItem menuItem2;
        private System.Windows.Forms.MenuItem menuItem3;
        private System.Windows.Forms.MenuItem menuItem4;
        private System.Windows.Forms.MenuItem menuItem5;
        private System.Windows.Forms.MenuItem menuItem6;
        private System.Windows.Forms.MenuItem menuItem7;
        private System.Windows.Forms.Label label1;
        private System.ComponentModel.IContainer components; public Form1()
     {
       //
       // Windows 窗体设计器支持所必需的
       //
       InitializeComponent();   Icon ic0=myExtractIcon("%SystemRoot%\\system32\\shell32.dll",15);
       TreeImageList.Images.Add(ic0);
       Icon ic1=myExtractIcon("%SystemRoot%\\system32\\shell32.dll",5);
       TreeImageList.Images.Add(ic1);
       Icon ic2=myExtractIcon("%SystemRoot%\\system32\\shell32.dll",7);
       TreeImageList.Images.Add(ic2);
       Icon ic3=myExtractIcon("%SystemRoot%\\system32\\shell32.dll",11);
       TreeImageList.Images.Add(ic3);   Icon ic4=myExtractIcon("%SystemRoot%\\system32\\shell32.dll",3);
       TreeImageList.Images.Add(ic4);
       Icon ic5=myExtractIcon("%SystemRoot%\\system32\\shell32.dll",4);
       TreeImageList.Images.Add(ic5);
       Icon ic6=myExtractIcon("%SystemRoot%\\system32\\shell32.dll",101);
       TreeImageList.Images.Add(ic6);
       GetDrive();
     } /// <summary>
     /// 清理所有正在使用的资源。
     /// </summary>
     protected override void Dispose( bool disposing )
     {
       if( disposing )
       {
      if (components != null) 
      {
        components.Dispose();
      }
       }
       base.Dispose( disposing );
     }  #region Windows Form Designer generated code
     /// <summary>
     /// 设计器支持所需的方法 - 不要使用代码编辑器修改
     /// 此方法的内容。
     /// </summary>
     private void InitializeComponent()
     {
       this.components = new System.ComponentModel.Container();
       this.TreeImageList = new System.Windows.Forms.ImageList(this.components);
       this.mainMenu1 = new System.Windows.Forms.MainMenu();
       this.menuItem1 = new System.Windows.Forms.MenuItem();
       this.menuItem2 = new System.Windows.Forms.MenuItem();
       this.menuItem3 = new System.Windows.Forms.MenuItem();
       this.menuItem4 = new System.Windows.Forms.MenuItem();
       this.menuItem5 = new System.Windows.Forms.MenuItem();
       this.menuItem6 = new System.Windows.Forms.MenuItem();
       this.menuItem7 = new System.Windows.Forms.MenuItem();
       this.listView1 = new System.Windows.Forms.ListView();
       this.textBox1 = new System.Windows.Forms.TextBox();
       this.treeView1 = new System.Windows.Forms.TreeView();
       this.panel2 = new System.Windows.Forms.Panel();
       this.label1 = new System.Windows.Forms.Label();
       this.button1 = new System.Windows.Forms.Button();
       this.panel1 = new System.Windows.Forms.Panel();
       this.splitter1 = new System.Windows.Forms.Splitter();
       this.LisrimageList = new System.Windows.Forms.ImageList(this.components);
       this.LisrimageList2 = new System.Windows.Forms.ImageList(this.components);
       this.statusBar1 = new System.Windows.Forms.StatusBar();
       this.statusBarPanel1 = new System.Windows.Forms.StatusBarPanel();
       this.statusBarPanel2 = new System.Windows.Forms.StatusBarPanel();
       this.panel2.SuspendLayout();
       this.panel1.SuspendLayout();
       ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).BeginInit();
       ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel2)).BeginInit();
       this.SuspendLayout();
       // 
       // TreeImageList
       // 
       this.TreeImageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
       this.TreeImageList.ImageSize = new System.Drawing.Size(16, 16);
       this.TreeImageList.TransparentColor = System.Drawing.Color.Transparent;
       // 
       // mainMenu1
       // 
       this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                         this.menuItem1,
                         this.menuItem2,
                         this.menuItem3,
                         this.menuItem4});
       // 
       // menuItem1
       // 
       this.menuItem1.Index = 0;
       this.menuItem1.Text = "文件";
       // 
       // menuItem2
       // 
       this.menuItem2.Index = 1;
       this.menuItem2.Text = "编辑";
       // 
       // menuItem3
       // 
       this.menuItem3.Index = 2;
       this.menuItem3.Text = "显隐";
       this.menuItem3.Click += new System.EventHandler(this.menuItem3_Click);
       // 
       // menuItem4
       // 
       this.menuItem4.Index = 3;
       this.menuItem4.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                         this.menuItem5,
                         this.menuItem6,
                         this.menuItem7});
       this.menuItem4.Text = "列表方式";
       // 
       // menuItem5
       // 
       this.menuItem5.Index = 0;
       this.menuItem5.Text = "大图标";
       this.menuItem5.Click += new System.EventHandler(this.menuItem5_Click);
       // 
       // menuItem6
       // 
       this.menuItem6.Index = 1;
       this.menuItem6.Text = "小图标";
       this.menuItem6.Click += new System.EventHandler(this.menuItem6_Click);
       // 
       // menuItem7
       // 
       this.menuItem7.Index = 2;
       this.menuItem7.Text = "详细列表";
       this.menuItem7.Click += new System.EventHandler(this.menuItem7_Click);
       // 
       // listView1
       // 
       this.listView1.Activation = System.Windows.Forms.ItemActivation.OneClick;
       this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
       this.listView1.Location = new System.Drawing.Point(221, 25);
       this.listView1.Name = "listView1";
       this.listView1.Size = new System.Drawing.Size(491, 381);
       this.listView1.TabIndex = 3;
       this.listView1.View = System.Windows.Forms.View.SmallIcon;
       this.listView1.ItemActivate += new System.EventHandler(this.listView1_ItemActivate);
       // 
       // textBox1
       // 
       this.textBox1.Dock = System.Windows.Forms.DockStyle.Top;
       this.textBox1.Name = "textBox1";
       this.textBox1.Size = new System.Drawing.Size(712, 25);
       this.textBox1.TabIndex = 5;
       this.textBox1.Text = "";
       // 
       // treeView1
       // 
       this.treeView1.Anchor = (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
      | System.Windows.Forms.AnchorStyles.Left) 
      | System.Windows.Forms.AnchorStyles.Right);
       this.treeView1.ImageIndex = -1;
       this.treeView1.ItemHeight = 18;
       this.treeView1.Location = new System.Drawing.Point(0, 29);
       this.treeView1.Name = "treeView1";
       this.treeView1.SelectedImageIndex = -1;
       this.treeView1.Size = new System.Drawing.Size(216, 349);
       this.treeView1.TabIndex = 1;
       this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect_1);
       this.treeView1.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeView1_BeforeExpand_1);
      

  2.   

    // 
       // panel2
       // 
       this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
       this.panel2.Controls.AddRange(new System.Windows.Forms.Control[] {
                       this.label1,
                       this.button1});
       this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
       this.panel2.Name = "panel2";
       this.panel2.Size = new System.Drawing.Size(216, 28);
       this.panel2.TabIndex = 0;
       // 
       // label1
       // 
       this.label1.Dock = System.Windows.Forms.DockStyle.Left;
       this.label1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));
       this.label1.Name = "label1";
       this.label1.Size = new System.Drawing.Size(56, 24);
       this.label1.TabIndex = 1;
       this.label1.Text = "文件夹";
       this.label1.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
       // 
       // button1
       // 
       this.button1.Dock = System.Windows.Forms.DockStyle.Right;
       this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
       this.button1.Location = new System.Drawing.Point(188, 0);
       this.button1.Name = "button1";
       this.button1.Size = new System.Drawing.Size(24, 24);
       this.button1.TabIndex = 0;
       this.button1.Text = "X";
       this.button1.Click += new System.EventHandler(this.button1_Click);
       // 
       // panel1
       // 
       this.panel1.Controls.AddRange(new System.Windows.Forms.Control[] {
                       this.treeView1,
                       this.panel2});
       this.panel1.Dock = System.Windows.Forms.DockStyle.Left;
       this.panel1.Location = new System.Drawing.Point(0, 25);
       this.panel1.Name = "panel1";
       this.panel1.Size = new System.Drawing.Size(216, 381);
       this.panel1.TabIndex = 6;
       // 
       // splitter1
       // 
       this.splitter1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
       this.splitter1.Location = new System.Drawing.Point(216, 25);
       this.splitter1.Name = "splitter1";
       this.splitter1.Size = new System.Drawing.Size(5, 381);
       this.splitter1.TabIndex = 7;
       this.splitter1.TabStop = false;
       // 
       // LisrimageList
       // 
       this.LisrimageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
       this.LisrimageList.ImageSize = new System.Drawing.Size(16, 16);
       this.LisrimageList.TransparentColor = System.Drawing.Color.Transparent;
       // 
       // LisrimageList2
       // 
       this.LisrimageList2.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
       this.LisrimageList2.ImageSize = new System.Drawing.Size(16, 16);
       this.LisrimageList2.TransparentColor = System.Drawing.Color.Transparent;
       // 
       // statusBar1
       // 
       this.statusBar1.Location = new System.Drawing.Point(0, 406);
       this.statusBar1.Name = "statusBar1";
       this.statusBar1.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {
                          this.statusBarPanel1,
                          this.statusBarPanel2});
       this.statusBar1.Size = new System.Drawing.Size(712, 22);
       this.statusBar1.TabIndex = 8;
       this.statusBar1.Text = "statusBar1";
       // 
       // statusBarPanel1
       // 
       this.statusBarPanel1.BorderStyle = System.Windows.Forms.StatusBarPanelBorderStyle.None;
       this.statusBarPanel1.Text = "statusBarPanel1";
       this.statusBarPanel1.Width = 132;
       // 
       // statusBarPanel2
       // 
       this.statusBarPanel2.BorderStyle = System.Windows.Forms.StatusBarPanelBorderStyle.None;
       this.statusBarPanel2.Text = "statusBarPanel2";
       this.statusBarPanel2.Width = 132;
       // 
       // Form1
       // 
       this.AutoScaleBaseSize = new System.Drawing.Size(8, 18);
       this.ClientSize = new System.Drawing.Size(712, 428);
       this.Controls.AddRange(new System.Windows.Forms.Control[] {
                      this.listView1,
                      this.splitter1,
                      this.panel1,
                      this.textBox1,
                      this.statusBar1});
       this.Menu = this.mainMenu1;
       this.Name = "Form1";
       this.Text = "我的资源管理器--曲郑生设计--2002.9";
       this.panel2.ResumeLayout(false);
       this.panel1.ResumeLayout(false);
       ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).EndInit();
       ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel2)).EndInit();
       this.ResumeLayout(false); }
      #endregion /// <summary>
     /// 应用程序的主入口点。
     /// </summary>
     [STAThread]
     static void Main() 
     {
       Application.Run(new Form1());
     }
      

  3.   

    //*************************************************************************************
     [DllImport("Shell32.dll")] 
     public static extern int ExtractIcon(IntPtr h,string strx,int ii); [DllImport("Shell32.dll")] 
     public static extern int SHGetFileInfo(string pszPath,uint dwFileAttributes,ref SHFILEINFO psfi,uint cbFileInfo, uint uFlags); public struct SHFILEINFO
     { 
       public IntPtr hIcon;  
       public int   iIcon;  
       public uint dwAttributes;
       public char szDisplayName; 
       public char szTypeName; 
     }
      string strFilePath="";
    //************************************************************************************* 
     
     protected virtual Icon myExtractIcon(string FileName,int iIndex)
     {
       try
       {
      IntPtr hIcon=(IntPtr)ExtractIcon(this.Handle,FileName,iIndex);
      if(! hIcon.Equals(null))
      {
        Icon icon=Icon.FromHandle(hIcon);
        return icon;
      }
       }
       catch(Exception ex)
       { MessageBox.Show(ex.Message,"错误提示",0,MessageBoxIcon.Error);} 
       return null;
     }
    //************************************************************************************* protected virtual void SetIcon(ImageList imageList,string FileName,bool tf)
     {
       SHFILEINFO fi=new SHFILEINFO();
       if(tf==true)
       {
      int iTotal=(int)SHGetFileInfo(FileName,0,ref fi,100,  16640);//SHGFI_ICON|SHGFI_SMALLICON
      try
      {
        if(iTotal >0)
        {
       Icon ic=Icon.FromHandle(fi.hIcon);
       imageList.Images.Add(ic);
       //return ic;
        }
      }
      catch(Exception ex)
      { MessageBox.Show(ex.Message,"错误提示",0,MessageBoxIcon.Error);} 
       }
       else
       {
      int iTotal=(int)SHGetFileInfo(FileName,0,ref fi,100,  257);
      try
      {
        if(iTotal >0)
        {
       Icon ic=Icon.FromHandle(fi.hIcon);
       imageList.Images.Add(ic);
       //return ic;
        }
      }
      catch(Exception ex)
      { MessageBox.Show(ex.Message,"错误提示",0,MessageBoxIcon.Error);} 
       }
       // return null;
     }
    //************************************************************************************* public void GetDrive()
     {
       treeView1.ImageList=TreeImageList;
      
       treeView1.BeginUpdate();
       treeView1.Nodes.Clear();   TreeNode RootNode=new TreeNode("我的电脑",0,0);
       treeView1.Nodes.Add(RootNode);
     
       int iImageIndex=2;  int iSelectedIndex=2;
       string[] astrDrives = Directory.GetLogicalDrives();   foreach (string str in astrDrives)
       {
      if(str == "A:\\")
      { iImageIndex=1;  iSelectedIndex=1;}
      else if(str == "G:\\")
      { iImageIndex=3;  iSelectedIndex=3;}
      else 
      { iImageIndex=2;  iSelectedIndex=2;}  TreeNode tnDrive = new TreeNode(str, iImageIndex,iSelectedIndex);
      treeView1.Nodes[0].Nodes.Add(tnDrive);
      AddDirectories(tnDrive);  if(str == "C:\\")
      { treeView1.SelectedNode=tnDrive;}
       }
       treeView1.EndUpdate();
     }
    //************************************************************************************* void AddDirectories(TreeNode tn)
     {
       tn.Nodes.Clear();   string strPath=tn.FullPath;
       strPath=strPath.Remove(0,5);   //获得当前目录
       DirectoryInfo   dirinfo = new DirectoryInfo(strPath);
       DirectoryInfo[] adirinfo;
       try
       {
      adirinfo = dirinfo.GetDirectories();
       }
       catch
       { return;}      int iImageIndex=4;  int iSelectedIndex=5;
       foreach (DirectoryInfo di in adirinfo)
       {
      if(di.Name=="RECYCLER"||di.Name=="RECYCLED"||di.Name=="Recycled")
      {iImageIndex=6;  iSelectedIndex=6;}
      else 
      {iImageIndex=4;  iSelectedIndex=5;}  TreeNode tnDir = new TreeNode(di.Name, iImageIndex, iSelectedIndex);
      tn.Nodes.Add(tnDir);
       }
    /*
       //获得当前目录下的所有文件 
       FileInfo[] dirFiles;
       dirFiles=dirinfo.GetFiles();
       int iCount=7;   foreach (FileInfo fi in dirFiles)
       {
      //得到每个文件的图标
      string str=fi.FullName;
      try
      {
        SetIcon(TreeImageList,str,false);
      }
      catch(Exception ex)
      { MessageBox.Show(ex.Message,"错误提示",0,MessageBoxIcon.Error);}
            
      TreeNode tnDir = new TreeNode(fi.Name, iCount, iCount);
      tn.Nodes.Add(tnDir);  iCount++;
       }
    */
     }
    //*************************************************************************************
     //在大图标、小图标、详细列表切换时调用
     protected virtual void ListViewAB(int iii)
     {
       if(iii==1)
       {
      LisrimageList2.ImageSize=new Size(32,32);
      listView1.LargeImageList=LisrimageList2;
       
      if(listView1.View==View.Details||listView1.View==View.SmallIcon)
      {listView1.View=View.LargeIcon;}
       }
       else if(iii==2)
       {
      if(listView1.View==View.Details||listView1.View==View.LargeIcon)
      {listView1.View=View.SmallIcon;}
       }
       else
       {
      if(listView1.View==View.LargeIcon||listView1.View==View.SmallIcon)
      {listView1.View=View.Details;}
       }
     }
    //*************************************************************************************
     private void treeView1_BeforeExpand_1(object sender, System.Windows.Forms.TreeViewCancelEventArgs e)
     {
       //base.OnBeforeExpand(e);   treeView1.BeginUpdate();   foreach (TreeNode tn in e.Node.Nodes)
       { AddDirectories(tn);}   treeView1.EndUpdate();
     }//************************************************************************************* protected virtual void InitList(TreeNode tn)
     {
       this.statusBarPanel1.Text="正在刷新文件夹,请稍等.....";
       this.Cursor=Cursors.WaitCursor;   this.LisrimageList2.Images.Clear();
       this.LisrimageList.Images.Clear();
       listView1.SmallImageList=LisrimageList;
       Icon ic0=myExtractIcon("%SystemRoot%\\system32\\shell32.dll",3);
       LisrimageList.Images.Add(ic0);。
       LisrimageList2.Images.Add(ic0);   listView1.Clear();
       //设置列表框的表头
       listView1.Columns.Add("文件名",160,HorizontalAlignment.Left);
       listView1.Columns.Add("文件大小",120,HorizontalAlignment.Left);
       listView1.Columns.Add("创建时间",120,HorizontalAlignment.Left);
       listView1.Columns.Add("访问时间",200,HorizontalAlignment.Left);  
       string strPath=tn.FullPath;
       strPath=strPath.Remove(0,5);
       //获得当前目录下的所有文件 
       DirectoryInfo curDir=new DirectoryInfo(strPath);//创建目录对象。
       FileInfo[] dirFiles;
       try
       {
         dirFiles=curDir.GetFiles();
       }
       catch  { return;}   string []arrSubItem=new string[4];
       //文件的创建时间和访问时间。
       int iCount=0;    int iconIndex=1;//用1,而不用0是要让过0号图标。
       foreach(FileInfo fileInfo in dirFiles)
       {
      string strFileName=fileInfo.Name;           
                
      //如果不是文件pagefile.sys
      if(! strFileName.Equals("pagefile.sys"))
      {
        arrSubItem[0]=strFileName;
        arrSubItem[1]=fileInfo.Length+" 字节";
        arrSubItem[2]=fileInfo.CreationTime.ToString();
        arrSubItem[3]=fileInfo.LastAccessTime.ToString();
      }
      else
      { arrSubItem[1]="未知大小"; arrSubItem[2]="未知日期"; arrSubItem[3]="未知日期";}
             //得到每个文件的图标
      string str=fileInfo.FullName;
      try
      {
        SetIcon(LisrimageList,str,false);
        SetIcon(LisrimageList2,str,true);
      }
      catch(Exception ex)
      { MessageBox.Show(ex.Message,"错误提示",0,MessageBoxIcon.Error);}
      

  4.   

    //插入列表项    
      ListViewItem LiItem=new ListViewItem(arrSubItem,iconIndex);
      listView1.Items.Insert(iCount,LiItem);  iCount++; 
      iconIndex++;
       }
       strFilePath=strPath;
       textBox1.Text=strPath;
       this.statusBarPanel1.Text=strPath;
       this.statusBarPanel2.Text="文件数量: " + iCount.ToString()+"个";
       this.Cursor=Cursors.Arrow;    //以下是向列表框中插入目录,不是文件。获得当前目录下的各个子目录。
       int iItem=0;   DirectoryInfo Dir=new DirectoryInfo(strPath);
       foreach(DirectoryInfo di in Dir.GetDirectories())
       {   
         ListViewItem LiItem=new ListViewItem(di.Name,0);
      listView1.Items.Insert(iItem,LiItem);
      iItem++;
       } } 
     //************************************************************************************* protected virtual void InitList2(string strName)
     {
       this.statusBarPanel1.Text="正在刷新文件夹,请稍等.....";
       this.Cursor=Cursors.WaitCursor;   this.LisrimageList2.Images.Clear();
       this.LisrimageList.Images.Clear();
       listView1.SmallImageList=LisrimageList;
       Icon ic0=myExtractIcon("%SystemRoot%\\system32\\shell32.dll",3);
       LisrimageList.Images.Add(ic0);
       LisrimageList2.Images.Add(ic0);   listView1.Clear();
       //设置列表框的表头
       listView1.Columns.Add("文件名",160,HorizontalAlignment.Left);
       listView1.Columns.Add("文件大小",120,HorizontalAlignment.Left);
       listView1.Columns.Add("创建时间",120,HorizontalAlignment.Left);
       listView1.Columns.Add("访问时间",200,HorizontalAlignment.Left);  
       //获得当前目录下的所有文件 
       DirectoryInfo curDir=new DirectoryInfo(strName);//创建目录对象。
       FileInfo[] dirFiles;
       try
       {
      dirFiles=curDir.GetFiles();
       }
       catch  { return;}   string []arrSubItem=new string[4];
       //文件的创建时间和访问时间。
       int iCount=0;    int iconIndex=1;//用1,而不用0是要让过0号图标。
       foreach(FileInfo fileInfo in dirFiles)
       {
      string strFileName=fileInfo.Name;           
                
      //如果不是文件pagefile.sys
      if(! strFileName.Equals("pagefile.sys"))
      {
        arrSubItem[0]=strFileName;
        arrSubItem[1]=fileInfo.Length+" 字节";
        arrSubItem[2]=fileInfo.CreationTime.ToString();
        arrSubItem[3]=fileInfo.LastAccessTime.ToString();
      }
      else
      { arrSubItem[1]="未知大小"; arrSubItem[2]="未知日期"; arrSubItem[3]="未知日期";}
         //得到每个文件的图标
      string str=fileInfo.FullName;
      try
      {
        SetIcon(LisrimageList,str,false);
        SetIcon(LisrimageList2,str,true);
      }
      catch(Exception ex)
      { MessageBox.Show(ex.Message,"错误提示",0,MessageBoxIcon.Error);}
              //插入列表项    
      ListViewItem LiItem=new ListViewItem(arrSubItem,iconIndex);
      listView1.Items.Insert(iCount,LiItem);  iCount++; 
      iconIndex++;//必须加在listView1.Items.Insert(iCount,LiItem);
       }
       strFilePath=strName;//把路径赋值于全局变量strFilePath   textBox1.Text=strName;
       this.statusBarPanel2.Text="文件数量: " + iCount.ToString()+"个";
       this.Cursor=Cursors.Arrow;    //以下是向列表框中插入目录,不是文件。获得当前目录下的各个子目录。
       int iItem=0;//调用listView1.Items.Insert(iItem,LiItem);时用。不能使用iconIndex。   DirectoryInfo Dir=new DirectoryInfo(strName);//创建目录对象。
       foreach(DirectoryInfo di in Dir.GetDirectories())
       {   
      ListViewItem LiItem=new ListViewItem(di.Name,0);
      listView1.Items.Insert(iItem,LiItem);
      iItem++;
       } } 
    //*************************************************************************************    private void treeView1_AfterSelect_1(object sender, System.Windows.Forms.TreeViewEventArgs e)
     {
       if(e.Node.Text=="我的电脑")    
       { return;}   InitList(e.Node);
     }
    //*************************************************************************************    private void button1_Click(object sender, System.EventArgs e)
     {
        this.panel1.Hide();
     }
    //*************************************************************************************    private void listView1_ItemActivate(object sender, System.EventArgs e)
     {
       string str=Path.Combine(strFilePath,listView1.FocusedItem.Text);
       try
       {
      if(listView1.FocusedItem.SubItems.Count>1)
      { System.Diagnostics.Process.Start(str); }
      else
      { InitList2(str); }
       }
       catch  { return;}
     }
    //*************************************************************************************
     private void menuItem3_Click(object sender, System.EventArgs e)
     {
       this.panel1.Visible=! panel1.Visible;
     }
    //*************************************************************************************
        private void menuItem5_Click(object sender, System.EventArgs e)
     {
       ListViewAB(1);
     }
    //*************************************************************************************
        private void menuItem6_Click(object sender, System.EventArgs e)
     {
       ListViewAB(2);
     }
    //*************************************************************************************
        private void menuItem7_Click(object sender, System.EventArgs e)
     {
       ListViewAB(3);
     }
    //*************************************************************************************  }
    }