怎么实现TWebBrowser与外壳程序的交互
如何实现TWebBrowser与外壳程序的交互
怎样在TWebBrowser浏览的网页里,通过JavaScript等方法来调用外壳程序里的过程?
之前看过一篇文章介绍用WebControl来做的,但是里面的ZoCWebBrowser编译不过来,缺少IEConst.pas和IEUtils.pas,我下载了最新版的EmbededWB也找不到IEUtils.pas.请问有什么实现的方法吗?
------解决方案--------------------
安装EmbededWB以后注意设置搜索路径。
Delphi Menu -> Tools -> Environment Options ->
Library页 -> Library path
Add "IEConst.pas"所在目录(可以用Windows文件搜索找到。)
------解决方案--------------------
procedure TForm2.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
mPoint: TPoint;
const
_KeyPressMask = $80000000;
begin
//屏蔽右键菜单
// with Msg do
// begin
// if not IsChild(WebBrowser1.Handle, hWnd) then Exit;
// Handled := (message = WM_RBUTTONDOWN) or (message = WM_RBUTTONUP) or (message = WM_CONTEXTMENU);
// end;
//替换右键菜单
if IsChild(WebBrowser1.Handle, Msg.Hwnd) and
((Msg.Message = WM_RBUTTONDOWN) or (Msg.Message = WM_RBUTTONUP)) then
begin
GetCursorPos(mPoint); //得到光标位置
PopupMenu1.Popup(mPoint.X, mPoint.Y); //弹出popupmenu1的菜单
Handled:=True;
end;
end;
怎样在TWebBrowser浏览的网页里,通过JavaScript等方法来调用外壳程序里的过程?
之前看过一篇文章介绍用WebControl来做的,但是里面的ZoCWebBrowser编译不过来,缺少IEConst.pas和IEUtils.pas,我下载了最新版的EmbededWB也找不到IEUtils.pas.请问有什么实现的方法吗?
------解决方案--------------------
安装EmbededWB以后注意设置搜索路径。
Delphi Menu -> Tools -> Environment Options ->
Library页 -> Library path
Add "IEConst.pas"所在目录(可以用Windows文件搜索找到。)
------解决方案--------------------
procedure TForm2.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
mPoint: TPoint;
const
_KeyPressMask = $80000000;
begin
//屏蔽右键菜单
// with Msg do
// begin
// if not IsChild(WebBrowser1.Handle, hWnd) then Exit;
// Handled := (message = WM_RBUTTONDOWN) or (message = WM_RBUTTONUP) or (message = WM_CONTEXTMENU);
// end;
//替换右键菜单
if IsChild(WebBrowser1.Handle, Msg.Hwnd) and
((Msg.Message = WM_RBUTTONDOWN) or (Msg.Message = WM_RBUTTONUP)) then
begin
GetCursorPos(mPoint); //得到光标位置
PopupMenu1.Popup(mPoint.X, mPoint.Y); //弹出popupmenu1的菜单
Handled:=True;
end;
end;