我正在尝试从文件属性对话框的详细信息页面获取sonme信息。
例如:
file properties details page http://i62.tinypic.com/2q02cdl.png
我刚刚在两个带下划线的日期之后。
我已搜索并在此处找到了一些代码:
a thread on the Tek-Tips forums
我发现其他代码与该线程中的代码非常相似。
我抓住了那段代码并做了一个小应用程序来检查它 - 按钮处理程序中的代码是:
procedure TfmMain.Button1Click(Sender: TObject);
var
fnp: string;
bb: boolean;
ss: string;
begin
fnp := 'c:\temp\aaaa.doc';
bb := IsNTFS(fnp);
if bb then
moOne.lines.add('Yes, it is NTFS')
else
moOne.lines.add('No, it is not NTFS');
ss := GetFileSummaryInfo(fnp);
moOne.lines.add(ss);
end;
NTFS检查工作正常,我的文件系统报告为NTFS,但我收到以下OLE错误
Project引发了异常类EOleSysError,消息“OLE error 80030002”
单步执行,这就发生在这一行:
OleCheck(PropSetStg.Open(FmtID_SummaryInformation,
STGM_READ or STGM_SHARE_EXCLUSIVE, PropStg));
在我在Embarcadero论坛上链接的代码中。
我做错了什么?
我在Win 7 64位上使用Delphi 5。
答案 0 :(得分:1)
COM error code为STG_E_FILENOTFOUND
。因此,从表面上看,似乎该文档不存在摘要信息属性集。
据我所知,该代码中的getter函数不起作用,但setter函数可以。所以你没有做任何事情,但我认为你试图使用的代码不像宣传的那样工作。
答案 1 :(得分:0)
我找到了一些有效的代码......该示例演示了如何获取文档标题,主题,作者,评论,修订,应用程序,创建日期和字数。我已经在一些MSWord文档上尝试了它,并且提取的信息是正确的。
可以在这里找到: