2

MFC や GUI を使用せずに C++ で JavaScript 関数を実行しようとしています。

私はウェブブラウザのポインタを作成しようとしましたが、そこからドキュメントを取得しました。

CoCreateInstance(CLSID_WebBrowser, NULL, CLSCTX_SERVER, 
                   IID_IWebBrowser2, (void**)&pBrowser2);
if (pBrowser2)
{
   VARIANT vEmpty;
   VariantInit(&vEmpty);

   BSTR bstrURL = SysAllocString(L"file://D:/file.html");

   HRESULT hr = pBrowser2->Navigate(bstrURL, &vEmpty, &vEmpty, &vEmpty, &vEmpty);
   if (SUCCEEDED(hr))
   {
       IDispatch *pDisp=NULL;
       hr=pBrowser2->get_Document(&pDisp);   <- This is NULL
       hr=pDisp->QueryInterface(IID_IHTMLDocument,(void**)&pDoc);

   }

}

基本的に、IHtmlDocument2 構造体へのポインターが必要です。このポインターで「get_script」と「invoke」を実行できるからです。これを達成する方法、または私が間違っていることを知っていますか?

また、MFC と GUI を使用せずに JS 関数を実行する別の方法を知っていますか?

ありがとうございました、

PS MFC を使用すると、 http://www.codeproject.com/Articles/2352/JavaScript-call-from-Cを使用して JS 関数を実行できます。

4

1 に答える 1