webbrowser 如何调用 保存网页对话框
const
IDM_SAVEAS = 71;
var
vHandle: THandle;
begin
vHandle :=webbrowser.Handle;
vHandle := FindWindowEx(vHandle, 0, 'Shell DocObject View ', nil);
vHandle := FindWindowEx(vHandle, 0, 'Internet Explorer_Server ', nil);
SendMessage(vHandle, WM_COMMAND, IDM_SAVEAS, Handle);
end;
=============================================================
如上代码弹出的是保存html文件对话框,我要如题像IE的保存网页一样
另一问题: 所有在webbrowser里的连接都在webbrows里显示,无论属性是_blank等,不弹IE打开.
[解决办法]
第一个问题等别人帮你回答吧。
第二个问题,你需要拦截webbrowser的页面内的link上的click事件,把url取出来用自已的webbrowser窗口再打开。也许有其它更容易的办法,如在webbrowser开新窗口newwindow之类的事件里处理。这只是思路。
[解决办法]
1 那个是IE自己的,浏览器控件没有
2 处理NewWindow2
[解决办法]
1\Webbrowser.ExecWeb(OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT);