欢迎来到天天文库
浏览记录
ID:53000704
大小:301.55 KB
页数:5页
时间:2020-04-10
《Delphi实现按文件摘要属性查找文件[高清版].pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Delphi实现按文件摘要属性查找文件彭邦伦摘要�讲解Windows文件摘要属性的存取方法�详细描述了利用Delphi编程实现�根据文件摘要属性查找文件的方法和具体过程�该方法既适用于复合文件�又适用于NTFS卷的非复合文件。关键词�Delphi�属性集�文件查找�NT�S�复合文件1引言IProperty�et�torage接口�Delphi4及以上版本在A�tiveX.pas中包含了这些接口的定义�从MicrosoftOffi�e6.0开始�所有的�ffi�e文档都提供了IPropertySetS
2、torage接口负责创建、打开、删除和枚举属性文档标题、主题、作者等摘要属性�从Windows2000更准确集存储的IPropertyStorage接口实例�IPropertyStorage接口管理地说是NTFS5.0开始�NTF�文件系统对NTF�卷的任何文件单个属性集的持久化属性�都提供了这些摘要属性�只要是在NTF�卷之间复制文件�这IPropertyStorage接口定义如下�些摘要属性都不会丢失�用户还可以在资源管理器中显示和修IPropertyStorage=interface(IUnkn
3、own)改它们�如图1所示。['{00000138-0000-0000-C000-000000000046}']functionReadMultiple�cpspec:ULONG;rgpspec:PPropSpec;rgpropvar:PPropVariant):HResult;stdcall;functionWriteMultiple�cpspec:ULONG;rgpspec:PPropSpec;rgpropvar:PPropVariant;propidNameFirst:TPropID):HRes
4、ult;stdcall;functionDeleteMultiple�cpspec:ULONG;rgpspec:PPropSpec):HResult;stdcall;functionReadPropertyNames�cpropid:ULONG;rgpropid:PPropID;rglpwstrName:PPOleStr):HResult;stdcall;functionWritePropertyNames�cpropid:ULONG;图1在资源管理器中查看文件摘要信息rgpropid:PPropID
5、;rglpwstrName:PPOleStr):HResult;Windows系统提供了按名称、类型和大小等搜索条件来查stdcall;functionDeletePropertyNames�cpropid:ULONG;找文件或文件夹的功能�为用户在众多文件中查找需要的文件rgpropid:PPropID):HResult;提供了方便�但该功能不能根据摘要属性来查找相应的文件�stdcall;Delphi实现根据文件摘要属性查找文件的方法�该方法既functionCommit�grfCommitFla
6、gs:DWORD):HResult;适用于复合文件�又适用于NTF�卷的非复合文件�对于stdcall;FAT�FAT32等非NTFS文件系统�则只能用于查找复合文件�functionRevert:HResult;stdcall;functionEnum�outppenum:IEnumSTATPROPSTG):2实现方法HResult;stdcall;Windows系统以一种通用的方式保存着文件摘要信息�并functionSetTimes�constpctime,patime,pmtime:提供了IP
7、ropertyStorage和IProperty�et�torage两个接口用于访TFileTime):HResult;stdcall;问这些摘要信息�NTF�5.0不仅实现了复合文件的functionSetClass�constclsid:TCLSID):HResult;IProperty�et�torage接口�而且实现了NTF�卷非复合文件的stdcall;262009.11编程语言functio�Stat(pst�tpsstg:P�tatProp�et�tg)�HResult;F�tora�e
8、�I�tora�e;stdca��;F�treamGUID��GUID;e�d;procedure�etActive�co�stValue�Boolea�);其中ReadMultiple、WriteMultiple方法用于读、写属性集procedure�etFileName�co�stValue�Wide�tri��);的属性值�DeleteMultiple方法用于删除属性集的属性�Enumprocedure�et�treamGUID�co�stValu
此文档下载收益归作者所有