关于WebBrowser+Word的问题???(20分)

  • 主题发起人 主题发起人 workjie
  • 开始时间 开始时间
W

workjie

Unregistered / Unconfirmed
GUEST, unregistred user!
一般我们使用WebBrowser打开网络上的一篇Word文档的时候,Word会在客户端临时目录建立一个文件、
请教:我怎样取得这个文件的名称啊。

好像都是mso*****开头的文件名,是不是有什么固定的算法啊。请教
 
word文件的路径你该知道吧?如果知道路径你可以用以下函数来取得你要的文件名
这个函数需要uses
WinInet
...
function GetLocalFileNameFromIECache(url:string;var LocalFileName:string):DWORD;
var
D: Cardinal;
T: PInternetCacheEntryInfo;
begin
result := S_OK;
D := 0;
T:=nil;
GetUrlCacheEntryInfo(PChar(Url), T^, D);
Getmem(T, D);
try
if (GetUrlCacheEntryInfo(PChar(Url), T^, D)) then
begin
LocalFileName:=T^.lpszLocalFileName;
end
else
Result := GetLastError;
finally
Freemem(T, D);
end;
end;
 
20分好像少了点。有用就多给点。
 
楼上谢谢
你的答案可以解决问题,我还有一点不明白,那么在temp目录下的那些以 MSO 开头的临时文件是做什么用途的啊。

还有你是从那里知道这个功能的啊。可以利用 GetUrlCacheEntryInfo 这个函数来处理这个问题??
想知道你的学习方法。。
多谢

届时另外开贴给分。。
 
有点错误。
你这只是取得IE生成的临时文件,而我需要的是在IE打开WORD文档的时候,由WORD生成的临时文件的文件名称???????
 
看MSDN
word打开应该也在IE的cache里的,上面的函数应该能用,
可能是里没描述清楚,里说的word临时文件在那个目录里的。
 
不是的,这种情况下word打开的临时文件在 temp 目录相面,以 mso 开头的一些doc文档。
我需要的是那个文件名成。
mso后面的数字好像是随机的,我想知道这个怎么得到。。
 
你也说是随机的了,没办法取得。因为每次都不一样,除非微软提供接口
 
在此顺便问一下,有没有碰到,若安装瑞星或毒霸后,用WebBrowser打开word变得非常缓慢,有的机器如此,有的不是。但把杀毒软件卸掉后就不会了,速度非常快
 
楼上提出的问题确实存在
 
后退
顶部