[求助]使用ObjectFromLresult控制外部浏览器时问题
最近需要控制外部浏览器 参考网上的源码终于有些成果了
procedure TForm1.Button1Click(Sender: TObject);
var
HWND_I: HWND;
PT: TPoint;
MV: Cardinal;
IRut: Cardinal;
IDOC: HTMLDocument2;
begin
GetCursorPos(PT);
HWND_I := WindowFromPoint(PT);
Caption := IntToStr(HWND_I);
MV := RegisterWindowMessage('WM_HTML_GETOBJECT');
SendMessageTimeout(HWND_I, MV, 0, 0, SMTO_ABORTIFHUNG, 1000, IRut);
if ObjectFromLresult(IRut, HTMLDocument2, 0, IDoc) = S_OK then
ShowMessage('成功') ;
else
ShowMessage('失败');
end;
-----------------------------------
就是取鼠标处的浏览器窗口
取出来的IDOC是HTMLDocument2 也能够控制获取网址一类的东西了
但是因为本人一直是学习使用
WebBrowser.OleObject.Document
WebBrowser.OleObject.Document.URL
这样的形式 而且用得挺熟了
请问怎么把 HTMLDocument2 转换成 OleObject这样的形式呢?
谢谢
[解决办法]
- Delphi(Pascal) code
var iDisp: IDispatch; oleObject: OleVariant;IDOC.QueryInterface(IDispatch, idisp);oleObject := iDisp;