Programming Windows Maniacs - プログラミング ウィンドウズ マニアックス ■ ご利用に際して ■ 更新履歴 ■ お問い合わせ ■ このホームページについて  
ホーム >> シェル >> アプリケーションから、別のプロセスとしてInternet Explorerを起動・操作するには

アプリケーションから、別のプロセスとして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;
}
  ■ ご利用に際して ■ 更新履歴 ■ お問い合わせ ■ このホームページについて Copyright © 2014 A.Morita