//费了半天劲,研究出这些。。用脚本对象实现的,参考了FOLDER.HTT和别人的相关代码.by YP<br><br>uses ShlObj, ComObj;<br><br>{$R *.dfm}<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> ObjShell, objFolder, objFolderItem: OLEVariant;<br> i: Integer;<br> s1, s2: string;<br>begin<br> ListBox1.Clear;<br> objShell := CreateOLEObject('Shell.Application');<br> objFolder := objShell.NameSpace('d:/');<br> objFolderItem := objFolder.ParseName('郑州新能源照明科技软件功能说明书.doc');<br><br> for i := 0 to 100 do //这个数值未经考证,微软网站的事例好像随便写了个34,我看不够用,就自作主张了。<br> begin<br> ListBox1.Items.Add(objFolder.GetDetailsOf(0, i) + ': ' + objFolder.GetDetailsOf(objFolderItem, i));<br> if objFolder.GetDetailsOf(0, i) = '标题' then //底下的随便啦 ,嫌空行多的话,填充listbox时就过滤掉就行<br> ShowMessage(objFolder.GetDetailsOf(objFolderItem, i));<br> end;<br>end;<br>你的需求,你自己改吧。<br>//要是还不满意,可以考虑以下几个接口<br> : IShellFolder;<br> : IShellDetails;<br>其实核心是一样的,只是调用接口不同,但绝没有创建word'对象,资源管理器就是这样读取的。呵呵。<br><br>没事的话,我去领分啊,在哪里啊???分呢??