TcppWebBrowser中打开本地文件的HTML语句不能正常执行怎么回事?

opeopleID 2011-09-23 03:37:03
先给你们看看我的写法,不知道为什么不能打开:

UnicodeString fileaddress="file:///c:\ ";
htmlbody="<a id='"+id+"' href='file://localhost/c:\ "+fileaddress+ "' target='_blank'>打开文件夹或者文件</a><br />";
htmlbody+="<script>document.getElementById('"+id+"').scrollIntoView();</script>";
CppWebBrowser->Document->QueryInterface(__uuidof(IHTMLDocument2),(void **)&document);
document->put_charset(L"gb2312");
SAFEARRAY * psa=SafeArrayCreateVector(VT_VARIANT,0,1);
VARIANT *param;
SafeArrayAccessData(psa,(LPVOID*)¶m);
param->vt=VT_BSTR;
param->bstrVal=SysAllocString((BSTR)htmlbody.c_bstr());
SafeArrayUnaccessData(psa);
document->writeln(psa);
SafeArrayDestroy(psa);

结果是地址fileaddress取网址如百度等等时会正常弹出新窗口打开,如果是本地地址则不能没有反应,经过自己的测试发现用到本地地址:file:\\\的都不能打开,不知道怎么回事。。。还是这个写法本来就有问题?
但是在txt中写这个命令的HTML语句是可以点击“打开文件夹或者文件”来打开完成命令的,我被搞晕了……
...全文
153 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
opeopleID 2011-09-30
帖子沉了?还没解决啊……
回复
ccrun.com 2011-09-26
等我研究一下。
回复
opeopleID 2011-09-26

CppWebBrowser-> Navigate(L"about:blank ");
WideString htmlbody;
IHTMLDocument2 *document;
htmlbody="<a id='idbc' href='file:///C:\' target='_blank' >打开文件夹</a><br />";
CppWebBrowser->Document->QueryInterface(__uuidof(IHTMLDocument2),(void **)&document);
document->put_charset(L"gb2312"); //L"utf-8" or L"gb2312"
SAFEARRAY * psa=SafeArrayCreateVector(VT_VARIANT,0,1);
VARIANT *param;
SafeArrayAccessData(psa,(LPVOID*)¶m);
param->vt=VT_BSTR;
param->bstrVal=SysAllocString((BSTR)htmlbody.c_bstr());
SafeArrayUnaccessData(psa);
document->writeln(psa);
SafeArrayDestroy(psa);
运行点击该代码完全没有反应,
改成htmlbody="<a id='idbc' href='http://www.baidu.com' target='_blank' >打开文件夹</a><br />";
则没有问题,我觉得问题在于file://
回复
opeopleID 2011-09-26
不是拼写问题,我已经修改成file:///C:/windows/或者file://c:\都不成功,貌似只要是判断到本地文件file就出问题不会打开了
回复
opeopleID 2011-09-26
妖哥,靠你了哦!
回复
netying 2011-09-24

拼后应该这样:
file://c:\test.txt
回复
ccrun.com 2011-09-23
应该是类似这样的:
file:///C:/windows/
回复
opeopleID 2011-09-23
请问还有没有别的方法打开cppWebBrowser里面的链接?
回复
opeopleID 2011-09-23
已经修改为:file:///c:\;无论是file:///c:\还是C:\还是file://localhost/c:\都点击无效,不知道怎么回事
回复
ccrun.com 2011-09-23
你那个链接的地址,最后拼接完是:
file://localhost/c:\ file:///c:\
这样?
回复
相关推荐
发帖
网络及通讯开发
创建于2007-08-02

1299

社区成员

C++ Builder 网络及通讯开发
申请成为版主
帖子事件
创建了帖子
2011-09-23 03:37
社区公告
暂无公告