本文整理自网络,侵删。
// 确认在USES分句中包含'ShellApi'
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ShellApi, FileCtrl;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
FileListBox1: TFileListBox;
DirectoryListBox1: TDirectoryListBox;
DriveComboBox1: TDriveComboBox;
Label5: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Label6: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{局部声明}
public
{公共声明}
end;
var
Form1: TForm1;
FileInfo : SHFILEINFO;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var filename : string;
attrs : string;
attributes : integer;
begin
form1.repaint;
if filelistbox1.ItemIndex <> - 1 then
begin
filename := FileListBox1.FileName;
end
else
begin
filename := DirectoryListBox1.Directory;
end;
edit1.text := filename;
//获取显示名
SHGetFileInfo(PChar(FileName),0,FileInfo,SizeOf(FileInfo),SHGFI_DISPLAYNAME);
edit2.text := FileInfo.szDisplayName;
//获取类型名
SHGetFileInfo(PChar(FileName),0,FileInfo,SizeOf(FileInfo),SHGFI_TYPENAME);
edit3.text := FileInfo.szTypeName;
//获取文件的图标
SHGetFileInfo(PChar(FileName),0,FileInfo,SizeOf(FileInfo),SHGFI_ICON);
Drawicon(canvas.handle,5,170,FileInfo.hIcon);
form1.repaint;
//获取文件属性
attributes := GetFileAttributes(PChar(FileName));
attrs := '';
If Bool(attributes and FILE_ATTRIBUTE_READONLY) then attrs := attrs + 'R';
If Bool(attributes and FILE_ATTRIBUTE_HIDDEN) then attrs := attrs + 'H';
If Bool(attributes and FILE_ATTRIBUTE_SYSTEM) then attrs := attrs + 'S';
If Bool(attributes and FILE_ATTRIBUTE_ARCHIVE) then attrs := attrs + 'A';
edit4.text := attrs;
// 获取文件最后修改日期和时间
try
edit5.text := DateTimeToSTr(FileDateToDateTime(FileAge(FileName)));
except
// 如果你不是选择文件(如目录或驱动器)
on EConvertError do
edit5.text := 'Not Available';
end;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
//当你在屏幕上移动窗体时,重画图标
Drawicon(canvas.handle,5,170,FileInfo.hIcon);
end;
相关阅读 >>
Delphi 窗体的位置和高宽度-tform:letf、top、width、height、clientwidth、clientheight
更多相关阅读请进入《Delphi》频道 >>