- 浏览: 459689 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (429)
- C# (55)
- PHP (7)
- 生活 (17)
- VB.NET (1)
- ASP (1)
- XML (0)
- AJAX (1)
- ASP.NET (1)
- [随笔分类]C# (9)
- [网站分类]程序人生 (1)
- [网站分类]ASP.NET (1)
- [网站分类]SQL Server (1)
- [发布至博客园首页] (10)
- [随笔分类]MYSQL (1)
- [随笔分类]AJAX (2)
- [随笔分类]ASP.NET (5)
- [随笔分类]SQL SERVER (7)
- [网站分类].NET新手区 (89)
- [网站分类]企业信息化 (2)
- [网站分类]非技术区 (22)
- [网站分类]代码与软件发布 (18)
- [网站分类]业界新闻 (1)
- [网站分类]其他技术区 (14)
- [网站分类]转载区 (1)
- [随笔分类]生活 (5)
- [随笔分类]PHP (2)
- [网站分类]jQuery (2)
- [网站分类]提问区 (1)
- [随笔分类]ASP (2)
- [随笔分类]VB.NET (7)
- [随笔分类]XML (1)
- [随笔分类]ACCESS (1)
- [随笔分类]ORACLE (3)
最新评论
-
hz_qiuyuanxin:
楼主,那如何实时监控打印机的状态呢?
C#遍历系统所安装的打印机,使用WMI方式获取打印机的所有属性 -
CoderDream:
不知道如何美化SQL
Sql Server Management Studio 辅助工具(SSMS代码格式化) -
ifox:
没了?????????、·············
Sql Server Management Studio 辅助工具(SSMS代码格式化) -
lovebeaners:
Windows Live Writer 表情插件------酷表情(CoolEmotion)发布 -
tvjody:
C#做这个很方便啊
C#、VB.NET 使用System.Media.SoundPlayer播放音乐
这是一个C#调用系统API SHGetFileInfo 的一个演示例子,也是给一位网友的答复,先看效果图:
SHGetFileInfo 这个API, 可以获取指定对象的非常详细的相关信息,具体的内容,大家可以MSDN上关于此API的说明。
这个获取关联图标,可以获取磁盘分区的图标,可以获取某个特定类型的文件的图标,也可以获取某个指定文件的图标,下面给出实现的全部代码:
<script type="text/javascript"><!-- google_ad_client = "pub-5834986413902221"; /* 728x90 */ google_ad_slot = "1368486102"; google_ad_width = 728; google_ad_height = 90; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>/// <summary> /// 保存文件信息的结构体 /// </summary> /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] struct SHFILEINFO { public IntPtr hIcon; public int iIcon; public uint dwAttributes; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] public string szDisplayName; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)] public string szTypeName; } class NativeMethods { [DllImport("Shell32.dll", EntryPoint = "SHGetFileInfo", SetLastError = true, CharSet = CharSet.Auto)] public static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, uint cbFileInfo, uint uFlags); [DllImport("User32.dll", EntryPoint = "DestroyIcon")] public static extern int DestroyIcon(IntPtr hIcon); #region API 参数的常量定义 public const uint SHGFI_ICON = 0x100; public const uint SHGFI_LARGEICON = 0x0; //大图标 32×32 public const uint SHGFI_SMALLICON = 0x1; //小图标 16×16 public const uint SHGFI_USEFILEATTRIBUTES = 0x10; #endregion } /// <summary> /// 获取文件类型的关联图标 /// </summary> /// <param name="fileName">文件类型的扩展名或文件的绝对路径</param> /// <param name="isLargeIcon">是否返回大图标</param> /// <returns>获取到的图标</returns> static Icon GetIcon(string fileName, bool isLargeIcon) { SHFILEINFO shfi = new SHFILEINFO(); IntPtr hI; if (isLargeIcon) hI = NativeMethods.SHGetFileInfo(fileName, 0, ref shfi, (uint)Marshal.SizeOf(shfi), NativeMethods.SHGFI_ICON | NativeMethods.SHGFI_USEFILEATTRIBUTES | NativeMethods.SHGFI_LARGEICON); else hI = NativeMethods.SHGetFileInfo(fileName, 0, ref shfi, (uint)Marshal.SizeOf(shfi), NativeMethods.SHGFI_ICON | NativeMethods.SHGFI_USEFILEATTRIBUTES | NativeMethods.SHGFI_SMALLICON); Icon icon = Icon.FromHandle(shfi.hIcon).Clone() as Icon; NativeMethods.DestroyIcon(shfi.hIcon); //释放资源 return icon; } private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { Help.ShowHelp(this, "http://www.zu14.cn"); } private void btnGetIcon_Click(object sender, EventArgs e) { using (Graphics g = this.pbSmallIcon.CreateGraphics()) { g.Clear(this.pbSmallIcon.BackColor); //清除picturebox的背景色,为了画透明图标 g.DrawIcon(GetIcon(this.tbFileExt.Text, false), 1, 1); //绘制小图标 } using (Graphics g = this.pbLargeIcon.CreateGraphics()) { g.Clear(this.pbLargeIcon.BackColor); //清除picturebox的背景色,为了画透明图标 g.DrawIcon(GetIcon(this.tbFileExt.Text, true), 1, 1); //绘制小图标 } }
发表评论
-
JS设置表格选中行的背景色
2008-11-08 16:29 1362<iframe src="http://www ... -
.NET C# 群发 HTML格式 带附件 中文发送者 密送 抄送 的邮件
2008-11-08 16:31 847<iframe src="http://www ... -
C# 操作 Xml 的两种方式 XPath XmlDocument XmlNodeList
2008-11-11 19:51 882<iframe src="http://www ... -
Timer 使用的注意事项
2008-11-14 13:41 595<iframe src="http://www ... -
邮件标头中找到无效字符(An invalid character was found in header value) System.Net.Mail 的Bug
2008-11-18 17:04 1466<iframe src="http://www ... -
WebBrowser控件禁用超链接转向、脚本错误提示、默认右键菜单和快捷键
2008-11-19 10:03 877<iframe src="http://www ... -
IIS6 启用 HTTP 压缩 (gzip, deflate)
2008-11-20 15:32 557<iframe src="http://www ... -
Winform DataGridView中利用WebClient异步加载显示网络地址的图片
2008-11-21 14:40 896<iframe src="http://www ... -
数学运算表达式形式的验证码 C# Asp.Net
2008-11-22 22:12 787<iframe src="http://www ... -
Web2.0 工具、资源网站汇
2008-11-27 19:50 718原文: http://www.zu14.cn/2008/11/ ... -
Online Ajax Translation With Google Api
2008-11-29 13:31 755原文地址: http://www.zu14.cn/2008/1 ... -
.NET C# 异步发送 要求回执 嵌入图片资源 自定义邮件头 失败通知 html/文本双视图 支持 notes 的邮件
2008-12-02 14:37 999原帖地址: http://www.zu14.cn/2008/1 ... -
Javascript/Js load xml file, support ie and firefox
2008-12-06 18:22 593<iframe src="http://www ... -
随机取数据库中的记录
2008-12-11 10:48 587原帖地址: http://www.zu14.cn/2008/1 ... -
.net 利用 CultureInfo 动态设置 货币和日期的显示方式
2008-12-12 14:40 612http://www.zu14.cn/2008/12/12/n ... -
.net里面照样使用 escape 和 unescape (c# csharp vb.net jscript.net)
2008-12-14 20:36 682javascript 脚本,有个 escape 和 unesc ... -
C# 中 using 的三种使用方法
2008-12-16 16:20 681引入命名空间 using System; usin ... -
asp.net + winform + log4net 使用示例|using log4net with asp.net/winform
2008-12-27 14:01 978log4net, 是 apache.org 在 log4j的基 ... -
.Net 对 规则Excel 的操作全攻略,支持excel 2000 ~ excel 2007(OleDbHelper)
2008-12-30 16:18 827规则的Excel文件,就是一个文本型的数据库,利用oledb或 ... -
提供一下 微软 的 SqlHelper 给大家共享
2008-12-31 15:32 629<script type="text/java ...
相关推荐
本示例探讨的是如何使用`SHGetFileInfo`函数,一个Windows API调用,来获取这些图标,并将它们显示在ListView控件中。这个功能在开发文件管理器或者其他需要显示系统图标的应用程序时非常有用。 `SHGetFileInfo`是...
在给定的“获取文件关联图标的C#源码”示例中,开发者使用了Windows API中的`SHGetFileInfo()`函数,这是一个非常关键的系统调用,用于获取文件的相关信息,包括其关联的图标。下面我们将详细讨论这个知识点。 1. *...
在C#编程语言中,我们可以通过一定的API调用来获取文件的图标。下面将详细讲解如何在C#中实现这一功能。 首先,我们需要理解Windows API中的Shell32库,它提供了用于与Windows壳层交互的接口,其中包括获取文件图标...
本文将深入探讨如何使用C#来获取一个文件的ICO图标,这是一个常见的需求,特别是在创建自定义文件管理器或者需要显示文件图标的应用程序时。 ICO图标是Windows操作系统中用于表示文件和应用程序的小型图像格式,它...
在本文中,我们将深入探讨如何使用C#编程语言获取Windows操作系统的图标,特别是文件夹、不同类型的文件、程序文件以及带有特定图标的文件夹(如收藏夹)的图标。我们将介绍四种不同的方法,并且每种方法都有详细的...
1. 使用系统API:在Windows操作系统中,可以使用Shell32库中的`SHGetFileInfo`函数来获取文件的图标。该函数接受文件路径作为参数,返回包含文件信息的结构体,其中就包含了图标信息。 2. 使用.NET Framework:在C#...
总结来说,MFC获取文件图标的关键在于使用`SHGetFileInfo`函数,它能从Windows系统中获取与文件关联的图标。对于MFC开发者,尤其是新手,了解并实践这个过程是提升技能的重要步骤。通过这样的程序,不仅可以学习到...
然后,你可以使用注册表编辑器(如RegEdit)或编写注册表脚本来修改与文件扩展名关联的注册表项,添加或替换图标路径。 总结,获取文件关联的图标源涉及对Windows操作系统内部机制的理解,包括注册表、Shell32库和...
- 使用`SHGetFileInfo`获取文件图标时,确保文件路径有效。 - 导出图标时,图标名称中的数字与图标索引之间的关系需特别注意,通常图标名称中的数字减1即为对应的索引值。 #### 五、扩展阅读 - 对于更复杂的图标...
- Windows API通常会返回文件的32x32图标,如果需要48x48的图标,可以使用`SHGFI_LARGEICON`标志获取大图标,或者使用`SHGFI_SMALLICON`获取小图标。 - 如果需要特定尺寸的图标,可能需要使用其他方法,如加载图标...
在易语言中,我们可以利用其提供的API函数和模块来实现特定的功能,比如获取文件的关联图标。"取任意文件的关联图标模块源码"就是一个易语言编写的模块,它实现了读取并显示Windows操作系统中任何文件关联图标的逻辑...
"MFC通过文件类型名获取文件图标列表"这个主题就是关于如何在不实际拥有文件的情况下,仅凭文件的扩展名来获取该类型的文件图标。 文件图标在用户界面中起着重要的作用,它们可以帮助用户快速识别和理解文件的类型...
在Windows操作系统中,每个可执行文件、DLL或驱动程序都可以包含一个或多个ICO图标,代表其在系统资源管理器中的视觉标识。 在C#中获取文件的ICO图标,主要涉及到以下几个关键知识点: 1. **Shell32库**:Windows...
在Windows API中,获取文件图标可以使用`SHGetFileInfo`或`ExtractIcon`等函数。例如,`SHGetFileInfo`可以获取文件的各种信息,包括图标,而`ExtractIcon`则直接从可执行文件或DLL中提取图标。在Qt中,我们可以使用...
在C#编程中,获取文件图标是一项常见的任务,这通常涉及到桌面应用程序的用户界面设计,尤其是在展示文件系统中的文件时。以下是如何在C#中获取文件图标及其相关知识点的详细说明: 1. **System.Drawing.Icon类**:...
保存图标时,确保使用`.Save()`方法将图标保存为`.ico`格式,这是Windows支持的图标文件格式,可以包含多个不同尺寸和颜色深度的图标,从而在不同的场景下保持颜色不失真。 总结一下,获取和保存C#中文件图标的关键...
易语言API取文件图标信息源码是一个关于如何在易语言编程环境中使用API函数来获取文件图标信息的示例代码。易语言是一款中国本土开发的、面向中文用户的编程语言,它的设计目标是让编程更加简单、直观。 在Windows...
在这种情况下,可以使用`SHGetFileInfo` API函数,它可以从Shell获取文件的图标信息,包括大图标、小图标和文件的其他属性。 实现这一功能的关键步骤如下: 1. 引用必要的库:如`System.Drawing`和`System.Runtime....