アプリケーションから、別のプロセスとしてInternet Explorerを起動・操作するには
アウトプロセスとしてActiveXを利用してInternet Explorerを呼び出すと、ツールバーを操作したり、全画面で表示するように指定することができます。
Internet Explorerを操作できる IWebBrowser2 インターフェースを取得するには、SHDOCVW.DLL ファイルを指定し、CLSIDとして、CLSID_InternetExplorer を指定し、CoCreateInstance する必要があります。
操作可能な詳細については、DLLを import したときの各メソッドを参照してください。
下記は、ツールバーを表示せずに www.google.co.jp を開くサンプルです。
■■■ outer_ie プロジェクト
■ stdafx.h
#include <windows.h>
#include <tchar.h>
#import "C:\\Windows\\System32\\SHDOCVW.DLL" rename_namespace ( "IExp" ) named_guids
|
■ main.cpp
#include "stdafx.h"
int WINAPI _tWinMain ( HINSTANCE,
HINSTANCE,
_TCHAR *,
int )
{
if ( FAILED ( CoInitialize ( NULL ) ) )
{
return 0;
}
IExp::IWebBrowser2Ptr WebBrowser;
if ( FAILED ( WebBrowser.CreateInstance ( IExp::CLSID_InternetExplorer ) ) )
{
return 0;
}
WebBrowser->PutOffline ( VARIANT_FALSE );
WebBrowser->PutAddressBar ( VARIANT_FALSE );
WebBrowser->PutStatusBar ( VARIANT_FALSE );
WebBrowser->PutMenuBar ( VARIANT_FALSE );
WebBrowser->PutToolBar ( VARIANT_FALSE );
_variant_t v ( _TEXT ( "http://www.google.co.jp/" ) );
WebBrowser->PutVisible ( VARIANT_TRUE );
WebBrowser->Navigate2 ( &v );
WebBrowser = 0;// 解放
CoUninitialize ();
return 0;
}
|
|