必要なのは単純です。コンソールアプリプロジェクトがあります。デフォルトのhtml+js文字列(formstringまたはconstchar *)を読み取るhtml(デフォルトのシステムベース)html+jsレンダリングウィンドウだけで単純なウィンドウを開くような関数が必要です。独自のAPIをデフォルトのjsAPIと結合して、JSがいくつかour.function(argument);
を呼び出すときに、C++アプリケーションにいくつかの関数(たとえばcout引数)を実行させるようにします。Windowsでそのようなものを作成するにはどうすればよいですか?
3 に答える
HTML ドキュメント用の MSHTML com オブジェクトを共同作成します。
CComPtr spDoc; HRESULT hr = CoCreateInstance(CLSID_HTMLDocument, NULL, CLSCTX_INPROC_SERVER, IID_IHTMLDocument2, (void**)&spDoc);
HTML 文字列を読み取り、ドキュメントにレンダリングさせるには、次のようにします。
コールバックに関して必要なものに応じて、COM DOM インターフェイスを使用してツリーをトラバースし、適切なDispInterfacesをシンクして、関心のある要素のイベントを取得できます。これをお勧めします。
#3 で提案したことが十分でない場合 (理由を聞きたい場合) は、独自の ActiveX コントロールを実装し、raj が提案するようにページ呼び出しメソッドにスクリプトを含めることができます。
セキュリティ/クロスブラウザ/プラットフォームの問題を脇に置いて、JavaScriptから呼び出すことができるC ++にActiveXオブジェクトを実装することができます。
http://msdn.microsoft.com/en-us/library/7sw4ddf8(v=vs.94).aspx
コントロールのホストはWebBrowser
、オブジェクトを介してスクリプトにアクセスできるオブジェクトを提供できexternal
ます。
http://msdn.microsoft.com/en-us/library/aa770041.aspx#GetExternalを参照してください。