
using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;
namespace SourceManagement
{
class TheDirectory
{
public TheDirectory(string path,string name,int level,TheDirectory parentDir)
{
this.Path = path;
this.Name = name;
this.level = level;
this.ParentDirectory = parentDir;
directorys = new List<TheDirectory>();
files = new List<TheFile>();
}
private TheDirectory parentDirectory;
public TheDirectory ParentDirectory
{
get { return parentDirectory; }
set { parentDirectory = value; }
}
private List<TheDirectory> directorys;
public List<TheDirectory> Directorys
{
get { return directorys; }
set { directorys = value; }
}
private List<TheFile> files;
public List<TheFile> Files
{
get { return files; }
set { files = value; }
}
//private ArrayList files;
//public ArrayList Files
//{
// get { return files; }
// set { files = value; }
//}
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private string path;
public string Path
{
get { return path; }
set { path = value; }
}
//属于第几级文件夹
private int level;
public int Level
{
get { return level; }
set { level = value; }
}
}
}
using System;using System.Collections.Generic;using System.Text;namespace SourceManagement{ class TheFile { public TheFile(string pash,string fileName,TheDirectory parentDirectory) { this.FileName = fileName; this.Path = pash; this.ParentDirectory = parentDirectory; } private string fileName; public string FileName { get { return fileName; } set { fileName = value; } } private string path; public string Path { get { return path; } set { path = value; } } private TheDirectory parentDirectory; public TheDirectory ParentDirectory { get { return parentDirectory; } set { parentDirectory = value; } } }}
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace SourceManagement
{
public class Win32
{
public const uint SHGFI_ICON = 0x100;
public const uint SHGFI_LARGEICON = 0x0; // 'Large icon
public const uint SHGFI_SMALLICON = 0x1; // 'Small icon
[DllImport("shell32.dll")]
public static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, uint cbSizeFileInfo, uint uFlags);
[DllImport("shell32.dll")]
public static extern uint ExtractIconEx(string lpszFile, int nIconIndex, int[] phiconLarge, int[] phiconSmall, uint nIcons);
}
[StructLayout(LayoutKind.Sequential)]
public struct SHFILEINFO
{
public IntPtr hIcon;
public IntPtr iIcon;
public uint dwAttributes;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
public string szDisplayName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)]
public string szTypeName;
};
}
来源:https://www.cnblogs.com/brainmao/archive/2011/07/25/2116072.html