スキップしてメイン コンテンツへ

 none
c++でWebbrowserを使えますか。またそのドキュメントなど。 RRS feed

  • 質問

  • c++2019Comunicatio版のデスクトップアプリケーションでWebBrowser(コントロール?)を使えるのでしょうか。
    microsoft/Docs/c++のドキュメントの範囲内では見つけられませんでした。ただC#ならあるようですが、まずはC++で使うことを調べています。
    WebBrowser.Navigateのような使い方で、ページ内のボタンを押す操作をプログラムから行いたいのです。DOMは多分使えないだろうと思っています。表示さえできれば良いのですが。
    ちなみにに5年以上前にBorlandのC++Builderでやっていたことがありますが、今回vc++2019でできないか調べているのです。
    C#ならできる可能性がありそうですが、他のプラットフォームとリンクしたc++のDLL(これはできている)と通信する必要があるので、C++の方がやりやすいかなと思う理由がC++を目指す理由があります。
    C#からC++をコールする方法もあるようですが、まずはC++のみで検討したいのです。
    ネット検索ではC#の例はあるようですが、C++は見つかりません。

    • 編集済み sige2 2019年10月14日 13:18
    2019年10月14日 13:16

回答

  • C++ Builder というと、フォームにコントロールを貼り付けていく、いわゆる RAD ツールの C++ ですね。
    Visual C++ にはそういった形での GUI 開発は現状存在しないと考えていただき、どのような形で GUI を作って行くかを調べてみてください。

    <私の偏見>
     ・ダイアログベース:作れなくはないが、C++Builder の感覚で行くとかなり遠いはず… (WebBrowser は ActiveX 参照)
     ・Windows Forms:C++ Builder の使い勝手に近いが、C++/CLI という別言語になるし、現在は非推奨 (WebBrowser は C# と同じ)
     ・UWP:さらに遠いかも…?
     ・コードで書く:RAD ツール出身だと歯が立たない感あり (GUI を作るだけで大変&WebBrowser は ActiveX 参照)

    ほかにもあると思いますが、C++ という言語にこだわる限り、Visual Studio で C++ Builder と同じ感覚で作る環境は難しいと考えていてください。
    どちらかと言えば、「C++/CLI で C++ の関数をラップしたクラスライブラリを作って、C# から利用する」が一番楽かもしれません。

    2019年10月14日 14:13
    モデレータ
  • sige2さん、こんにちは。フォーラムオペレーターのHarukaです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    >c++でWebbrowserを使えますか。またそのドキュメントなど。
    →Step1:ActiveXコントロールを挿入-> Microsoft Web Browser


    Step2:Variableの追加-> 完了(この手順により、COCX.hとCOCX.cppの2つのファイルが生成されます)。

    これらの2つのファイルはブラウザークラスの実装ですが、VS2019は操作機能を完了しません。 
    そのため、次のコードをファイルの末尾(COCX.h)にコピーします。 
    残りの作業は、以前と同様にWeb Browserクラスを使用することです。

    // operations
    public:
    
    // IWebBrowser2
    
    // Functions
    //
    
        void GoBack()
        {
            InvokeHelper(0x64, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        void GoForward()
        {
            InvokeHelper(0x65, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        void GoHome()
        {
            InvokeHelper(0x66, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        void GoSearch()
        {
            InvokeHelper(0x67, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        void Navigate(LPCTSTR URL, VARIANT * Flags, VARIANT * TargetFrameName, VARIANT * PostData, VARIANT * Headers)
        {
            static BYTE parms[] = VTS_BSTR VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT ;
            InvokeHelper(0x68, DISPATCH_METHOD, VT_EMPTY, NULL, parms, URL, Flags, TargetFrameName, PostData, Headers);
        }
        void Refresh()
        {
            InvokeHelper(DISPID_REFRESH, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        void Refresh2(VARIANT * Level)
        {
            static BYTE parms[] = VTS_PVARIANT ;
            InvokeHelper(0x69, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Level);
        }
        void Stop()
        {
            InvokeHelper(0x6a, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        LPDISPATCH get_Application()
        {
            LPDISPATCH result;
            InvokeHelper(0xc8, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
            return result;
        }
        LPDISPATCH get_Parent()
        {
            LPDISPATCH result;
            InvokeHelper(0xc9, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
            return result;
        }
        LPDISPATCH get_Container()
        {
            LPDISPATCH result;
            InvokeHelper(0xca, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
            return result;
        }
        LPDISPATCH get_Document()
        {
            LPDISPATCH result;
            InvokeHelper(0xcb, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
            return result;
        }
        BOOL get_TopLevelContainer()
        {
            BOOL result;
            InvokeHelper(0xcc, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        CString get_Type()
        {
            CString result;
            InvokeHelper(0xcd, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        long get_Left()
        {
            long result;
            InvokeHelper(0xce, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        void put_Left(long newValue)
        {
            static BYTE parms[] = VTS_I4 ;
            InvokeHelper(0xce, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        long get_Top()
        {
            long result;
            InvokeHelper(0xcf, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        void put_Top(long newValue)
        {
            static BYTE parms[] = VTS_I4 ;
            InvokeHelper(0xcf, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        long get_Width()
        {
            long result;
            InvokeHelper(0xd0, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        void put_Width(long newValue)
        {
            static BYTE parms[] = VTS_I4 ;
            InvokeHelper(0xd0, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        long get_Height()
        {
            long result;
            InvokeHelper(0xd1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        void put_Height(long newValue)
        {
            static BYTE parms[] = VTS_I4 ;
            InvokeHelper(0xd1, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        CString get_LocationName()
        {
            CString result;
            InvokeHelper(0xd2, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        CString get_LocationURL()
        {
            CString result;
            InvokeHelper(0xd3, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        BOOL get_Busy()
        {
            BOOL result;
            InvokeHelper(0xd4, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void Quit()
        {
            InvokeHelper(0x12c, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        void ClientToWindow(long * pcx, long * pcy)
        {
            static BYTE parms[] = VTS_PI4 VTS_PI4 ;
            InvokeHelper(0x12d, DISPATCH_METHOD, VT_EMPTY, NULL, parms, pcx, pcy);
        }
        void PutProperty(LPCTSTR Property, VARIANT vtValue)
        {
            static BYTE parms[] = VTS_BSTR VTS_VARIANT ;
            InvokeHelper(0x12e, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Property, &vtValue);
        }
        VARIANT GetProperty(LPCTSTR Property)
        {
            VARIANT result;
            static BYTE parms[] = VTS_BSTR ;
            InvokeHelper(0x12f, DISPATCH_METHOD, VT_VARIANT, (void*)&result, parms, Property);
            return result;
        }
        CString get_Name()
        {
            CString result;
            InvokeHelper(0x0, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        long get_HWND()
        {
            long result;
            InvokeHelper(DISPID_HWND, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        CString get_FullName()
        {
            CString result;
            InvokeHelper(0x190, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        CString get_Path()
        {
            CString result;
            InvokeHelper(0x191, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        BOOL get_Visible()
        {
            BOOL result;
            InvokeHelper(0x192, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_Visible(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x192, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_StatusBar()
        {
            BOOL result;
            InvokeHelper(0x193, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_StatusBar(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x193, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        CString get_StatusText()
        {
            CString result;
            InvokeHelper(0x194, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        void put_StatusText(LPCTSTR newValue)
        {
            static BYTE parms[] = VTS_BSTR ;
            InvokeHelper(0x194, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        long get_ToolBar()
        {
            long result;
            InvokeHelper(0x195, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        void put_ToolBar(long newValue)
        {
            static BYTE parms[] = VTS_I4 ;
            InvokeHelper(0x195, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_MenuBar()
        {
            BOOL result;
            InvokeHelper(0x196, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_MenuBar(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x196, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_FullScreen()
        {
            BOOL result;
            InvokeHelper(0x197, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_FullScreen(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x197, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        void Navigate2(VARIANT * URL, VARIANT * Flags, VARIANT * TargetFrameName, VARIANT * PostData, VARIANT * Headers)
        {
            static BYTE parms[] = VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT ;
            InvokeHelper(0x1f4, DISPATCH_METHOD, VT_EMPTY, NULL, parms, URL, Flags, TargetFrameName, PostData, Headers);
        }
        long QueryStatusWB(long cmdID)
        {
            long result;
            static BYTE parms[] = VTS_I4 ;
            InvokeHelper(0x1f5, DISPATCH_METHOD, VT_I4, (void*)&result, parms, cmdID);
            return result;
        }
        void ExecWB(long cmdID, long cmdexecopt, VARIANT * pvaIn, VARIANT * pvaOut)
        {
            static BYTE parms[] = VTS_I4 VTS_I4 VTS_PVARIANT VTS_PVARIANT ;
            InvokeHelper(0x1f6, DISPATCH_METHOD, VT_EMPTY, NULL, parms, cmdID, cmdexecopt, pvaIn, pvaOut);
        }
        void ShowBrowserBar(VARIANT * pvaClsid, VARIANT * pvarShow, VARIANT * pvarSize)
        {
            static BYTE parms[] = VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT ;
            InvokeHelper(0x1f7, DISPATCH_METHOD, VT_EMPTY, NULL, parms, pvaClsid, pvarShow, pvarSize);
        }
        long get_ReadyState()
        {
            long result;
            InvokeHelper(DISPID_READYSTATE, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        BOOL get_Offline()
        {
            BOOL result;
            InvokeHelper(0x226, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_Offline(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x226, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_Silent()
        {
            BOOL result;
            InvokeHelper(0x227, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_Silent(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x227, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_RegisterAsBrowser()
        {
            BOOL result;
            InvokeHelper(0x228, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_RegisterAsBrowser(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x228, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_RegisterAsDropTarget()
        {
            BOOL result;
            InvokeHelper(0x229, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_RegisterAsDropTarget(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x229, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_TheaterMode()
        {
            BOOL result;
            InvokeHelper(0x22a, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_TheaterMode(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x22a, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_AddressBar()
        {
            BOOL result;
            InvokeHelper(0x22b, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_AddressBar(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x22b, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_Resizable()
        {
            BOOL result;
            InvokeHelper(0x22c, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_Resizable(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x22c, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
    
    // Properties
    //
    

    どうぞよろしくお願いいたします。


    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    • 回答としてマーク sige2 2019年10月26日 9:34
    2019年10月18日 1:31
    モデレータ
  • sige2さん、こんにちは。フォーラムオペレーターのHarukaです。
    ご返信いただきありがとうございます。

    ・これを使うとwebBrowser.nabigate(url)のような使い方で、webページが表示できるのですね。
    →はい、そうです。

    ・またこれを使ったプログラムを別のwidows7で実行できますか。
    →私の知る限りでは、それができます。

    ・囲み枠ないの//operations以下のコードはCOCX.Hの末尾にコピーすべき直前のpublic以下の処に入れるのですか。
    →はい、そうです。

    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    • 回答としてマーク sige2 2019年10月26日 9:34
    2019年10月21日 8:28
    モデレータ

すべての返信

  • C++ Builder というと、フォームにコントロールを貼り付けていく、いわゆる RAD ツールの C++ ですね。
    Visual C++ にはそういった形での GUI 開発は現状存在しないと考えていただき、どのような形で GUI を作って行くかを調べてみてください。

    <私の偏見>
     ・ダイアログベース:作れなくはないが、C++Builder の感覚で行くとかなり遠いはず… (WebBrowser は ActiveX 参照)
     ・Windows Forms:C++ Builder の使い勝手に近いが、C++/CLI という別言語になるし、現在は非推奨 (WebBrowser は C# と同じ)
     ・UWP:さらに遠いかも…?
     ・コードで書く:RAD ツール出身だと歯が立たない感あり (GUI を作るだけで大変&WebBrowser は ActiveX 参照)

    ほかにもあると思いますが、C++ という言語にこだわる限り、Visual Studio で C++ Builder と同じ感覚で作る環境は難しいと考えていてください。
    どちらかと言えば、「C++/CLI で C++ の関数をラップしたクラスライブラリを作って、C# から利用する」が一番楽かもしれません。

    2019年10月14日 14:13
    モデレータ
  • 参考までに、今開発が進められているChromiumベースのMicrosoft Edgeは、WebView2という名称で埋め込みがサポートされていますが、C++コードベースでの記述となっています。ステップバイステップでのサンプルも挙げられています。

    # 微妙にコードが足りないのはきっと気のせい。


    • 編集済み 佐祐理 2019年10月14日 14:24
    2019年10月14日 14:23
  • 早速のご返事ありがとうございます。
    Auulen様
    道はありそうですが、C++のみではやはり難しそうなことがわかりました。効果と手数を考慮すべきのようです。
    佐祐理様
    WebView2も可能性がありそうですね。WebView2も検索のとき見たように思うのですが思い出せませんでした。
    別な簡便な方策を検討してみます。(dllからapi32のmousemove?などで直接マウスを操作するとか。今からやってみます。できるかどうか?)

    2019年10月15日 3:01
  • sige2さん、こんにちは。フォーラムオペレーターのHarukaです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    >c++でWebbrowserを使えますか。またそのドキュメントなど。
    →Step1:ActiveXコントロールを挿入-> Microsoft Web Browser


    Step2:Variableの追加-> 完了(この手順により、COCX.hとCOCX.cppの2つのファイルが生成されます)。

    これらの2つのファイルはブラウザークラスの実装ですが、VS2019は操作機能を完了しません。 
    そのため、次のコードをファイルの末尾(COCX.h)にコピーします。 
    残りの作業は、以前と同様にWeb Browserクラスを使用することです。

    // operations
    public:
    
    // IWebBrowser2
    
    // Functions
    //
    
        void GoBack()
        {
            InvokeHelper(0x64, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        void GoForward()
        {
            InvokeHelper(0x65, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        void GoHome()
        {
            InvokeHelper(0x66, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        void GoSearch()
        {
            InvokeHelper(0x67, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        void Navigate(LPCTSTR URL, VARIANT * Flags, VARIANT * TargetFrameName, VARIANT * PostData, VARIANT * Headers)
        {
            static BYTE parms[] = VTS_BSTR VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT ;
            InvokeHelper(0x68, DISPATCH_METHOD, VT_EMPTY, NULL, parms, URL, Flags, TargetFrameName, PostData, Headers);
        }
        void Refresh()
        {
            InvokeHelper(DISPID_REFRESH, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        void Refresh2(VARIANT * Level)
        {
            static BYTE parms[] = VTS_PVARIANT ;
            InvokeHelper(0x69, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Level);
        }
        void Stop()
        {
            InvokeHelper(0x6a, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        LPDISPATCH get_Application()
        {
            LPDISPATCH result;
            InvokeHelper(0xc8, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
            return result;
        }
        LPDISPATCH get_Parent()
        {
            LPDISPATCH result;
            InvokeHelper(0xc9, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
            return result;
        }
        LPDISPATCH get_Container()
        {
            LPDISPATCH result;
            InvokeHelper(0xca, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
            return result;
        }
        LPDISPATCH get_Document()
        {
            LPDISPATCH result;
            InvokeHelper(0xcb, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
            return result;
        }
        BOOL get_TopLevelContainer()
        {
            BOOL result;
            InvokeHelper(0xcc, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        CString get_Type()
        {
            CString result;
            InvokeHelper(0xcd, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        long get_Left()
        {
            long result;
            InvokeHelper(0xce, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        void put_Left(long newValue)
        {
            static BYTE parms[] = VTS_I4 ;
            InvokeHelper(0xce, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        long get_Top()
        {
            long result;
            InvokeHelper(0xcf, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        void put_Top(long newValue)
        {
            static BYTE parms[] = VTS_I4 ;
            InvokeHelper(0xcf, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        long get_Width()
        {
            long result;
            InvokeHelper(0xd0, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        void put_Width(long newValue)
        {
            static BYTE parms[] = VTS_I4 ;
            InvokeHelper(0xd0, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        long get_Height()
        {
            long result;
            InvokeHelper(0xd1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        void put_Height(long newValue)
        {
            static BYTE parms[] = VTS_I4 ;
            InvokeHelper(0xd1, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        CString get_LocationName()
        {
            CString result;
            InvokeHelper(0xd2, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        CString get_LocationURL()
        {
            CString result;
            InvokeHelper(0xd3, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        BOOL get_Busy()
        {
            BOOL result;
            InvokeHelper(0xd4, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void Quit()
        {
            InvokeHelper(0x12c, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
        }
        void ClientToWindow(long * pcx, long * pcy)
        {
            static BYTE parms[] = VTS_PI4 VTS_PI4 ;
            InvokeHelper(0x12d, DISPATCH_METHOD, VT_EMPTY, NULL, parms, pcx, pcy);
        }
        void PutProperty(LPCTSTR Property, VARIANT vtValue)
        {
            static BYTE parms[] = VTS_BSTR VTS_VARIANT ;
            InvokeHelper(0x12e, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Property, &vtValue);
        }
        VARIANT GetProperty(LPCTSTR Property)
        {
            VARIANT result;
            static BYTE parms[] = VTS_BSTR ;
            InvokeHelper(0x12f, DISPATCH_METHOD, VT_VARIANT, (void*)&result, parms, Property);
            return result;
        }
        CString get_Name()
        {
            CString result;
            InvokeHelper(0x0, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        long get_HWND()
        {
            long result;
            InvokeHelper(DISPID_HWND, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        CString get_FullName()
        {
            CString result;
            InvokeHelper(0x190, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        CString get_Path()
        {
            CString result;
            InvokeHelper(0x191, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        BOOL get_Visible()
        {
            BOOL result;
            InvokeHelper(0x192, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_Visible(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x192, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_StatusBar()
        {
            BOOL result;
            InvokeHelper(0x193, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_StatusBar(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x193, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        CString get_StatusText()
        {
            CString result;
            InvokeHelper(0x194, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
            return result;
        }
        void put_StatusText(LPCTSTR newValue)
        {
            static BYTE parms[] = VTS_BSTR ;
            InvokeHelper(0x194, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        long get_ToolBar()
        {
            long result;
            InvokeHelper(0x195, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        void put_ToolBar(long newValue)
        {
            static BYTE parms[] = VTS_I4 ;
            InvokeHelper(0x195, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_MenuBar()
        {
            BOOL result;
            InvokeHelper(0x196, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_MenuBar(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x196, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_FullScreen()
        {
            BOOL result;
            InvokeHelper(0x197, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_FullScreen(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x197, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        void Navigate2(VARIANT * URL, VARIANT * Flags, VARIANT * TargetFrameName, VARIANT * PostData, VARIANT * Headers)
        {
            static BYTE parms[] = VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT ;
            InvokeHelper(0x1f4, DISPATCH_METHOD, VT_EMPTY, NULL, parms, URL, Flags, TargetFrameName, PostData, Headers);
        }
        long QueryStatusWB(long cmdID)
        {
            long result;
            static BYTE parms[] = VTS_I4 ;
            InvokeHelper(0x1f5, DISPATCH_METHOD, VT_I4, (void*)&result, parms, cmdID);
            return result;
        }
        void ExecWB(long cmdID, long cmdexecopt, VARIANT * pvaIn, VARIANT * pvaOut)
        {
            static BYTE parms[] = VTS_I4 VTS_I4 VTS_PVARIANT VTS_PVARIANT ;
            InvokeHelper(0x1f6, DISPATCH_METHOD, VT_EMPTY, NULL, parms, cmdID, cmdexecopt, pvaIn, pvaOut);
        }
        void ShowBrowserBar(VARIANT * pvaClsid, VARIANT * pvarShow, VARIANT * pvarSize)
        {
            static BYTE parms[] = VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT ;
            InvokeHelper(0x1f7, DISPATCH_METHOD, VT_EMPTY, NULL, parms, pvaClsid, pvarShow, pvarSize);
        }
        long get_ReadyState()
        {
            long result;
            InvokeHelper(DISPID_READYSTATE, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
            return result;
        }
        BOOL get_Offline()
        {
            BOOL result;
            InvokeHelper(0x226, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_Offline(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x226, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_Silent()
        {
            BOOL result;
            InvokeHelper(0x227, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_Silent(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x227, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_RegisterAsBrowser()
        {
            BOOL result;
            InvokeHelper(0x228, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_RegisterAsBrowser(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x228, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_RegisterAsDropTarget()
        {
            BOOL result;
            InvokeHelper(0x229, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_RegisterAsDropTarget(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x229, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_TheaterMode()
        {
            BOOL result;
            InvokeHelper(0x22a, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_TheaterMode(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x22a, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_AddressBar()
        {
            BOOL result;
            InvokeHelper(0x22b, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_AddressBar(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x22b, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
        BOOL get_Resizable()
        {
            BOOL result;
            InvokeHelper(0x22c, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
            return result;
        }
        void put_Resizable(BOOL newValue)
        {
            static BYTE parms[] = VTS_BOOL ;
            InvokeHelper(0x22c, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
        }
    
    // Properties
    //
    

    どうぞよろしくお願いいたします。


    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    • 回答としてマーク sige2 2019年10月26日 9:34
    2019年10月18日 1:31
    モデレータ
  • 大変丁寧な説明ありがとうございました。
    ただ、現在はC#にトライして、ほぼ目的は達成しています。
    WebBrowser2は後日そのような機会があれば試してみたいと思います。
    念のためおたずねします。
    ・これを使うとwebBrowser.nabigate(url)のような使い方で、webページが表示できるのですね。
    ・またこれを使ったプログラムを別のwidows7で実行できますか。
    ・囲み枠ないの//operations以下のコードはCOCX.Hの末尾にコピーすべき直前のpublic以下の処に入れるのですか。
    本題と関係ないですが、javascriptと親和性が良いそうですが、javascriptやflushがあるページのそれらが表現する文字情報を取得するのに役に立ちそうでしょうか?

    2019年10月18日 3:28
  • sige2さん、こんにちは。フォーラムオペレーターのHarukaです。
    ご返信いただきありがとうございます。

    ・これを使うとwebBrowser.nabigate(url)のような使い方で、webページが表示できるのですね。
    →はい、そうです。

    ・またこれを使ったプログラムを別のwidows7で実行できますか。
    →私の知る限りでは、それができます。

    ・囲み枠ないの//operations以下のコードはCOCX.Hの末尾にコピーすべき直前のpublic以下の処に入れるのですか。
    →はい、そうです。

    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    • 回答としてマーク sige2 2019年10月26日 9:34
    2019年10月21日 8:28
    モデレータ
  • ご返事を見逃していまして済みませんでした。

    その後C#で実現できましたので、ACTIVEXは当面使わないです。


    2019年10月26日 9:37