ActiveX에서 IWebBrowser2(브라우저 포인터) 얻기
uses
ActiveX, Mshtml, SHDocVw;
const
IID_IServiceProvider : TGUID = '{6d5140c1-7436-11ce-8034-00aa006009fa}';
function TActiveFormX.GetIWebPointer: IWebBrowser2;
var
pIOleObject : IOleObject;
pIOleClient : IOleClientSite;
pIOleContainer : IOleContainer;
pUnk : IUnknown;
pIWeb: IWebBrowser2;
pISP: IServiceProvider;
begin
Result := nil;
pUnk := ComObject;
if Assigned( pUnk ) then
begin
if SUCCEEDED(pUnk.QueryInterface(IOleObject, pIOleObject)) and Assigned( pIOleObject ) then
begin
if SUCCEEDED(pIOleObject.GetClientSite(pIOleClient)) and Assigned( pIOleClient ) then
begin
if SUCCEEDED(pIOleClient.GetContainer(pIOleContainer)) and Assigned( pIOleContainer ) then
begin
if SUCCEEDED(pIOleContainer.QueryInterface(IID_IServiceProvider, pISP)) and Assigned( pISP ) then
begin
if SUCCEEDED(pISP.QueryService(IID_IWebBrowserApp, IID_IWebBrowser2, pIWeb)) and Assigned( pIWeb ) then
begin
Result := pIWeb;
end;
end;
end;
end;
end;
end;
end;
'델파이' 카테고리의 다른 글
소수점 이하 제거하는 함수 (0) | 2008.10.06 |
---|---|
Delphi 2007에서 DSPack 설치하기 (0) | 2008.09.24 |
Internet Explorer7 에서 현재 활성화 되있는 탭윈도우 핸들 얻기 (0) | 2008.08.28 |
Delphi로 ActiveX 제작시 DAX 에러나는 문제 해결법 (0) | 2008.08.07 |
인터넷에서 파일 다운로드 하기 (0) | 2008.07.17 |
URL 인코딩(Encoding) 함수 (0) | 2008.06.25 |
문자열을 MD5로 변환하는 유닛 (0) | 2008.06.09 |
문자가 한글이지 확인하는 법 (0) | 2008.05.28 |
작업표시줄(Taskbar)에서 프로그램 탭(?) 숨기기 (0) | 2008.05.23 |
윈도우 버전 구하는 함수 (0) | 2008.05.21 |