动态获取文件的关联扩展名
2009-03-24 23:31
344 查看
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, shellapi;
type
TForm1 = class(TForm)
Image1: TImage;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
function GetFileIconByExt(const ExtName: string; SmallIcon: boolean): HICON;
implementation
{$R *.dfm}
function GetFileIconByExt(const ExtName: string; SmallIcon: boolean): HICON;
var
sinfo: SHFILEINFO;
sFlag: INTEGER;
tempName: string;
begin
tempName := ExtName;
if Copy(tempName, 1, 1) <> '.' then tempName := '.' + tempName;
ZeroMemory(@sinfo, sizeof(sinfo));
if SmallIcon then
sFlag := (SHGFI_USEFILEATTRIBUTES or SHGFI_SMALLICON or SHGFI_ICON)
else
sFlag := (SHGFI_USEFILEATTRIBUTES or SHGFI_LARGEICON or SHGFI_ICON);
SHGetFileInfo(pchar(tempName), FILE_ATTRIBUTE_NORMAL, sinfo, sizeof(sinfo), sFlag);
Result := sinfo.HICON;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Image1.picture.icon.handle := GetFileIconByExt('pdf', false);
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, shellapi;
type
TForm1 = class(TForm)
Image1: TImage;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
function GetFileIconByExt(const ExtName: string; SmallIcon: boolean): HICON;
implementation
{$R *.dfm}
function GetFileIconByExt(const ExtName: string; SmallIcon: boolean): HICON;
var
sinfo: SHFILEINFO;
sFlag: INTEGER;
tempName: string;
begin
tempName := ExtName;
if Copy(tempName, 1, 1) <> '.' then tempName := '.' + tempName;
ZeroMemory(@sinfo, sizeof(sinfo));
if SmallIcon then
sFlag := (SHGFI_USEFILEATTRIBUTES or SHGFI_SMALLICON or SHGFI_ICON)
else
sFlag := (SHGFI_USEFILEATTRIBUTES or SHGFI_LARGEICON or SHGFI_ICON);
SHGetFileInfo(pchar(tempName), FILE_ATTRIBUTE_NORMAL, sinfo, sizeof(sinfo), sFlag);
Result := sinfo.HICON;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Image1.picture.icon.handle := GetFileIconByExt('pdf', false);
end;
end.
相关文章推荐
- 获取与文件扩展名关联的图标
- Powershell实现从注册表获取本地关联文件的扩展名
- 扩展Struts2的FreemarkerResult,动态获取模板文件
- C#如何根据文件格式类型或扩展名来获取关联程序的路径?
- 获取指定扩展名的文件
- php 获取文件的扩展名
- ios中,动态获取文件类型,方便自己上传到服务器上
- 使用五种以上方式获取一个文件的扩展名 2016.6.1
- HOW TO:获取文件扩展属性
- 获取指定文件的扩展名称
- 扩展log4j系列[二]动态、分文件记log
- C# WINFORM 应用程序动态读写xml config文件,获取数据库连接
- PHP 五种获取文件中文件的扩展名
- JS使用ajax从xml文件动态获取数据显示的方法
- js获取上传文件扩展名
- js动态获取文件路径
- C#路径中获取文件全路径、目录、扩展名、文件名称
- 获取input上传文件文件名及扩展名
- 从ad_type.json文件获取动态option
- 动态创建服务器控件,获取HTML输出(用于生成静态文件,简化页面,简化编程等)