已知IE窗口的句柄,如何由此得到IHTMLdocument2接口?
来源:互联网 发布:网络借贷管理暂行办法 编辑:程序博客网 时间:2024/06/05 03:50
使用GetIEFromHWND,然后:IEWnd.Document as IHTMLDocument2得到IHTMLDocument2接口
p.s. IE的类名是IEFrame,在IEFrame里面查找类名为“Shell DocObject View”的句柄,然后再在该句柄中继续查找“Internet Explorer_Server”才可以得到IE的那个浏览控件的句柄。然后才能使用GetIEFromHWND
function GetIEFromHWND(hWnd: HWND; var IE: IWebbrowser2): HRESULT;
type
TObjectFromLResult = function(LRESULT: lResult; const IID: TIID; WPARAM: wParam; out pObject): HRESULT; stdcall;
var
hInst: THandle;
lRes: Cardinal;
MSG: Integer;
pDoc: IHTMLDocument2;
ObjectFromLresult: TObjectFromLresult;
begin
result:=S_OK;
if (hWnd<=0) then
exit;
hInst := LoadLibrary('Oleacc.dll');
if (hInst>0) then
try
@ObjectFromLresult := GetProcAddress(hInst, 'ObjectFromLresult');
MSG := RegisterWindowMessage('WM_HTML_GETOBJECT');
SendMessageTimeOut(hWnd, MSG, 0, 0, SMTO_ABORTIFHUNG, 1000, lRes);
Result := ObjectFromLresult(lRes, IID_IHTMLDocument2, 0, pDoc);
if Result = S_OK then
begin
(pDoc.parentWindow as IServiceprovider).QueryService(IWebbrowserApp, IWebbrowser2, IE);
end;
finally
FreeLibrary(hInst);
end;
end;
- 已知IE窗口的句柄,如何由此得到IHTMLdocument2接口?
- 根据Internet Explorer_Server窗口得到IHtmlDocument2接口(IE编程)
- 根据Internet Explorer_Server窗口得到IHtmlDocument2接口
- 如何隐藏已知句柄的窗口
- 已知IWebBrowser2接口,如何获得其Internet Explorer_Server窗口句柄?
- 如何得到句柄、窗口句柄
- 从一个窗口句柄获取IWebBrowser2和IHTMLDocument2接口
- 从一个窗口句柄获取IWebBrowser2和IHTMLDocument2接口
- 从一个窗口句柄获取IWebBrowser2和IHTMLDocument2接口
- 如何得到桌面窗口的句柄(桌面图标)
- 获取ie窗口的IHTMLDocument2对象
- 如何从窗口句柄得到窗口的指针
- 如何得到网页中所有内嵌框架的IHTMLDocument2接口
- 如何得到ie窗口的尺寸
- 已知进程句柄,如何知道此进程的主窗口句柄
- 查找标题已知的窗口句柄,遍历窗口控件句柄
- 查找标题已知的窗口句柄,遍历窗口控件句柄
- 得到窗口的句柄方法
- 將office檔和tif檔轉化為pdf檔(C#代碼)
- android之动画(一)通过AnimationDrawable控制逐帧动画
- MAXScript101_2.5 Expressions
- 爱普生EPSON打印机 ME1+ (ME1)清零软件及方法
- Win Unix Mac 等多种系统平台的宏定义
- 已知IE窗口的句柄,如何由此得到IHTMLdocument2接口?
- 爱普生EPSON打印机 ME1+ (ME1)清零软件及方法
- poj 1195 Mobile phones
- GNU AS
- Mongodb集群JavaAPI插入数据
- 远程连接sybase数据库操作步骤
- JNI字符转换中文乱码的处理方法
- JAVA详细集合类型说明
- ssh配置xml