C# 如果绑定到系统图片 例如,我输入 .TXT的时候,就在picturebox 显示上 文本文件 txt的图标输入.rar 就显示 winrar 的图标?这个功能该如何去实现之? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DllImport("shell32")] private static extern int ExtractIcon(int hinst, string lpszExeFileName, int nIconIndex); int icons = ExtractIcon(0, Application.ExecutablePath, 0); [DllImport("Shell32.dll")] private static extern int SHGetFileInfo ( string pszPath, uint dwFileAttributes, out SHFILEINFO psfi, uint cbfileInfo, SHGFI uFlags ); [StructLayout(LayoutKind.Sequential)] private struct SHFILEINFO { public SHFILEINFO(bool b) { hIcon = IntPtr.Zero; iIcon = 0; dwAttributes = 0; szDisplayName = ""; szTypeName = ""; } public IntPtr hIcon; public int iIcon; public uint dwAttributes; [MarshalAs(UnmanagedType.LPStr, SizeConst = 260)] public string szDisplayName; [MarshalAs(UnmanagedType.LPStr, SizeConst = 80)] public string szTypeName; }; private ExtractIcon() { } private enum SHGFI { SmallIcon = 0x00000001, LargeIcon = 0x00000000, Icon = 0x00000100, DisplayName = 0x00000200, Typename = 0x00000400, SysIconIndex = 0x00004000, UseFileAttributes = 0x00000010 } /**//// <summary> /// 获取文件、文件夹的小图标 /// </summary> /// <param name="strPath">文件、文件夹路径</param> /// <returns>图标</returns> public static Icon GetIcon(string strPath) { SHFILEINFO info = new SHFILEINFO(true); int cbFileInfo = Marshal.SizeOf(info); SHGFI flags; flags = SHGFI.Icon | SHGFI.SmallIcon; SHGetFileInfo(strPath, 256, out info, (uint)cbFileInfo, flags); return Icon.FromHandle(info.hIcon); } 参照 http://www.pinvoke.net/default.aspx/shell32.shgetfileinfo 菜鸟问题!字符串长度。。 急,asp.net访问局域网内的网络文件“未知用户名或错误密码” 请问谁有关于Canny算子边缘检测的代码及相关资料吗?(C#的)(最好的中文的) c#中如何选项卡控件 timer事件中对label的赋值得问题 有关于listView控件的问题 怎样用WIS打包时讲。NET框架装进去? int.ToString(string)出错。在线马上结帖。 dataGridView中,怎么样根据DataSet中不同的值,显示不同的东西。 虚拟主机通过HttpWebRequest获取网站数据出错 xml保存文字的同时怎么把字体同时也保存 关于C# 引入ocx控件不同版本的问题
private static extern int ExtractIcon(int hinst, string lpszExeFileName, int nIconIndex);
int icons = ExtractIcon(0, Application.ExecutablePath, 0);
[DllImport("Shell32.dll")]
private static extern int SHGetFileInfo
(
string pszPath,
uint dwFileAttributes,
out SHFILEINFO psfi,
uint cbfileInfo,
SHGFI uFlags
);
[StructLayout(LayoutKind.Sequential)]
private struct SHFILEINFO
{
public SHFILEINFO(bool b)
{
hIcon = IntPtr.Zero; iIcon = 0; dwAttributes = 0; szDisplayName = ""; szTypeName = "";
}
public IntPtr hIcon;
public int iIcon;
public uint dwAttributes;
[MarshalAs(UnmanagedType.LPStr, SizeConst = 260)]
public string szDisplayName;
[MarshalAs(UnmanagedType.LPStr, SizeConst = 80)]
public string szTypeName;
};
private ExtractIcon()
{
}
private enum SHGFI
{
SmallIcon = 0x00000001,
LargeIcon = 0x00000000,
Icon = 0x00000100,
DisplayName = 0x00000200,
Typename = 0x00000400,
SysIconIndex = 0x00004000,
UseFileAttributes = 0x00000010
}
/**//// <summary>
/// 获取文件、文件夹的小图标
/// </summary>
/// <param name="strPath">文件、文件夹路径</param>
/// <returns>图标</returns>
public static Icon GetIcon(string strPath)
{
SHFILEINFO info = new SHFILEINFO(true);
int cbFileInfo = Marshal.SizeOf(info);
SHGFI flags;
flags = SHGFI.Icon | SHGFI.SmallIcon;
SHGetFileInfo(strPath, 256, out info, (uint)cbFileInfo, flags);
return Icon.FromHandle(info.hIcon);
}