CppWebBrowser执行js脚本问题

laowang2 2010-11-22 05:39:08
IHTMLDocument2 *pDoc2;
IDispatch *WebDocument = static_cast<IDispatch*>(CppWebBrowser1->Document);
pDoc2 = static_cast<IHTMLDocument2*>(WebDocument);
IHTMLWindow2 *PWin2 = NULL;
pDoc2->get_parentWindow(&PWin2);
VARIANT vtEmpty;
vtEmpty.vt = VT_EMPTY;

jsName = "alert(3);" ;

BSTR bstrCode = WideString(jsName).c_bstr();
BSTR bstrLang = WideString("JavaScript").c_bstr();

if (pDoc2) {
MessageBox(0, jsName.c_str(), "提示", MB_OK + MB_ICONINFORMATION);
}



try
{
PWin2->execScript(bstrCode, bstrLang, &vtEmpty);
}
__finally
{
SysFreeString(bstrCode);
SysFreeString(bstrLang);
VariantClear(&vtEmpty);
}

我在页面没有看到对话框,为什么?
...全文
283 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
laowang2 2010-11-23
  • 打赏
  • 举报
回复
谢谢妖兄,代码测试通过,给分了。
LngDotin 2010-11-23
  • 打赏
  • 举报
回复
逛逛 CSDN ,无意又从妖哥学了一手,嘿嘿
airspace 2010-11-22
  • 打赏
  • 举报
回复
抢个板凳,坐下看看
ccrun.com 2010-11-22
  • 打赏
  • 举报
回复
来生意了,挖卡卡.

__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
CppWebBrowser1->Navigate(L"about:blank");
}

#include <mshtml.h>

// ---------------------------------------------------------------------------
//
bool __fastcall ExecuteScript(IHTMLDocument2 *spDoc, WideString strScript, WideString strLang)
{
bool bRet = false;

if (spDoc)
{
IHTMLWindow2 *pWin;
HRESULT hr = spDoc->get_parentWindow(&pWin);
if (SUCCEEDED(hr))
{
VARIANT vRet;
hr = pWin->execScript(strScript, strLang, &vRet);
pWin->Release();

bRet = SUCCEEDED(hr);
}
}
return bRet;
}

// ---------------------------------------------------------------------------
//
void __fastcall TForm1::Button1Click(TObject *Sender)
{
while (CppWebBrowser1->Busy)
Application->ProcessMessages();

IHTMLDocument2 *spDoc = NULL;
HRESULT hr = CppWebBrowser1->Document->QueryInterface(
::IID_IHTMLDocument2, (void **)&spDoc);

if (SUCCEEDED(hr))
{
WideString strScript = L"alert(3);";
ExecuteScript(spDoc, strScript, L"javascript");
}

spDoc->Release();
}

703

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder ActiveX/COM/DCOM
社区管理员
  • ActiveX/COM/DCOM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧