unit1.cpp
来自「本书《C++Builder与WindowsAPI经典范例》附含配套光盘包括132」· C++ 代码 · 共 85 行
CPP
85 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//删除ListBox1所有文字
ListBox1->Clear();
//先将完整路径(AnsiString)转成 char字符串
int leng = FileListBox1->FileName.Length();
char str[MAX_PATH];
for(int i=0;i<=leng;i++)
{
if(i==leng)
str[i] = '\0';
else
str[i] = FileListBox1->FileName[i+1];
}
//取得指定文件handle
HANDLE fo = ::CreateFile(str,
GENERIC_READ | GENERIC_WRITE,
0,NULL,
OPEN_EXISTING,
FILE_FLAG_WRITE_THROUGH,
NULL);
BY_HANDLE_FILE_INFORMATION fd;
//取得指定文件资料
if(::GetFileInformationByHandle(fo, &fd))
{
//取得指定文件的状态
AnsiString string;
switch(fd.dwFileAttributes)
{
case FILE_ATTRIBUTE_ARCHIVE:
string = "此文件处于保存状态";
break;
case FILE_ATTRIBUTE_COMPRESSED:
string = "此文件处于压缩状态";
break;
case FILE_ATTRIBUTE_DIRECTORY:
string = "此文件处于不存在状态";
break;
case FILE_ATTRIBUTE_HIDDEN:
string = "此文件处于隐藏状态";
break;
case FILE_ATTRIBUTE_NORMAL:
string = "此文件处于设置状态";
break;
case FILE_ATTRIBUTE_OFFLINE:
string = "此文件处于离线状态";
break;
case FILE_ATTRIBUTE_READONLY:
string = "此文件处于只读状态";
break;
case FILE_ATTRIBUTE_SYSTEM:
string = "此文件处于系统状态";
break;
case FILE_ATTRIBUTE_TEMPORARY:
string = "此文件处于缓冲状态";
break;
}
//分辨文件系统
AnsiString nl;
if(((int)fd.nNumberOfLinks)== 1)
nl = "FAT";
else
nl = "NTFS";
//列出指定文件所有信息
ListBox1->Items->Add(string);
ListBox1->Items->Add("建立时间(L)" + AnsiString((int)fd.ftCreationTime.dwLowDateTime));
ListBox1->Items->Add("建立时间(H)" + AnsiString((int)fd.ftCreationTime.dwHighDateTime));
ListBox1->Items->Add("最后存取时间(L)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?