資源簡介
2種方法獲取關聯文件圖標和應用程序圖標,源代碼

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Text;
using?System.Windows.Forms;
using?System.Runtime.InteropServices;
namespace?GetIconOfFile
{
????public?partial?class?Form1?:?Form
????{
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????[DllImport(“Shell32.dll“)]
????????static?extern?int?SHGetFileInfo(string?pszPath?uint?dwFileAttributes?ref???SHFILEINFO?psfi?uint?cbFileInfo?uint?uFlags);
????????struct?SHFILEINFO
????????{
????????????public?IntPtr?hIcon;
????????????public?int?iIcon;
????????????public?uint?dwAttributes;
????????????public?char?szDisplayName;
????????????public?char?szTypeName;
????????}
????????///?
????????///?從文件擴展名得到文件關聯圖標
????????///?
????????///?文件名或文件擴展名
????????///?是否是獲取小圖標,否則是大圖標
????????///?圖標
????????static?public?Icon?GetFileIcon(string?fileName?bool?smallIcon)
????????{
????????????SHFILEINFO?fi?=?new?SHFILEINFO();
????????????Icon?ic?=?null;
????????????//SHGFI_ICON?+?SHGFI_USEFILEATTRIBUTES?+?SmallIcon???
????????????int?iTotal?=?(int)SHGetFileInfo(fileName?100?ref?fi?0?(uint)(smallIcon???273?:?272));
????????????if?(iTotal?>?0)
????????????{
????????????????ic?=?Icon.FromHandle(fi.hIcon);
????????????}
????????????return?ic;
????????}
????????private?void?button1_Click(object?sender?EventArgs?e)
????????{
????????????Graphics?g?=?pictureBox1.CreateGraphics();
????????????g.Clear(pictureBox1.BackColor);
????????????g.DrawIcon(GetFileIcon(textBox1.Text?true)?0?0);
????????????g?=?pictureBox2.CreateGraphics();
????????????g.Clear(pictureBox2.BackColor);
????????????g.DrawIcon(GetFileIcon(textBox1.Text?false)?0?0);
????????}
????????private?void?linkLabel1_linkClicked(object?sender?linkLabellinkClickedEventArgs?e)
????????{
????????????System.Diagnostics.Process.Start(“http://www.codefans.net“);
????????}
????????private?void?label1_Click(object?sender?EventArgs?e)
????????{
????????}
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????9728??2010-07-14?09:27??獲取文件關聯圖標\GetIconOfFile\bin\Debug\GetIconOfFile.exe
?????文件??????28160??2010-07-14?09:27??獲取文件關聯圖標\GetIconOfFile\bin\Debug\GetIconOfFile.pdb
?????文件??????14328??2010-07-14?09:56??獲取文件關聯圖標\GetIconOfFile\bin\Debug\GetIconOfFile.vshost.exe
?????文件????????490??2007-07-21?01:33??獲取文件關聯圖標\GetIconOfFile\bin\Debug\GetIconOfFile.vshost.exe.manifest
?????文件???????2260??2008-10-04?22:05??獲取文件關聯圖標\GetIconOfFile\Form1.cs
?????文件???????4047??2008-10-04?22:05??獲取文件關聯圖標\GetIconOfFile\Form1.Designer.cs
?????文件???????5814??2008-10-04?22:05??獲取文件關聯圖標\GetIconOfFile\Form1.resx
?????文件???????3441??2010-07-14?09:27??獲取文件關聯圖標\GetIconOfFile\GetIconOfFile.csproj
?????文件????????472??2008-10-04?22:02??獲取文件關聯圖標\GetIconOfFile\Program.cs
?????文件???????1192??2008-03-12?03:57??獲取文件關聯圖標\GetIconOfFile\Properties\AssemblyInfo.cs
?????文件???????2850??2010-07-14?09:27??獲取文件關聯圖標\GetIconOfFile\Properties\Resources.Designer.cs
?????文件???????5612??2008-03-12?03:57??獲取文件關聯圖標\GetIconOfFile\Properties\Resources.resx
?????文件???????1111??2010-07-14?09:27??獲取文件關聯圖標\GetIconOfFile\Properties\Settings.Designer.cs
?????文件????????249??2008-03-12?03:57??獲取文件關聯圖標\GetIconOfFile\Properties\Settings.settings
?????文件???????1395??2010-07-14?09:56??獲取文件關聯圖標\GetIconOfFile.sln
????..A..H.?????26624??2010-07-14?10:00??獲取文件關聯圖標\GetIconOfFile.suo
?????文件??????14328??2010-07-14?09:59??獲取文件關聯圖標\icon\bin\Debug\icon.vshost.exe
?????文件????????490??2007-07-21?01:33??獲取文件關聯圖標\icon\bin\Debug\icon.vshost.exe.manifest
?????文件???????2398??2010-07-14?09:58??獲取文件關聯圖標\icon\Form1.cs
?????文件???????3157??2010-07-14?09:58??獲取文件關聯圖標\icon\Form1.Designer.cs
?????文件???????6012??2010-07-14?09:58??獲取文件關聯圖標\icon\Form1.resx
?????文件???????3754??2010-07-14?09:56??獲取文件關聯圖標\icon\icon.csproj
?????文件????????485??2010-07-14?09:52??獲取文件關聯圖標\icon\Program.cs
?????文件???????1350??2010-07-14?09:52??獲取文件關聯圖標\icon\Properties\AssemblyInfo.cs
?????文件???????2858??2010-07-14?09:52??獲取文件關聯圖標\icon\Properties\Resources.Designer.cs
?????文件???????5612??2010-07-14?09:52??獲取文件關聯圖標\icon\Properties\Resources.resx
?????文件???????1089??2010-07-14?09:52??獲取文件關聯圖標\icon\Properties\Settings.Designer.cs
?????文件????????249??2010-07-14?09:52??獲取文件關聯圖標\icon\Properties\Settings.settings
?????目錄??????????0??2010-07-14?10:00??獲取文件關聯圖標\icon\obj\Debug\TempPE
?????目錄??????????0??2010-07-14?09:27??獲取文件關聯圖標\GetIconOfFile\bin\Debug
............此處省略13個文件信息
評論
共有 條評論