webbrowser fireevent事件触发无效?也不报错,求指点!

www_xxoopapa_net 2017-06-28 10:01:03
给google一个注册框赋值成功,并想触发onmousedown事件,但是无效,也不报错触发。
CppWebBrowser1->Navigate
(L"https://accounts.google.com/SignUp?service=mail&continue=http%3A%2F%2Fmail.google.com%2Fmail%2Fe-11-2887fa605f6a37d883231ea5eef007-35393786dcce9670dfd5cabbe6908af98adc8576"
);
waiting(Edit1->Text.ToInt());
IHTMLElement *ppElem;
IHTMLDocument3 *ppDoc3;

BSTR title, htmlsource, content;
AnsiString id;
HRESULT hr;

hr = CppWebBrowser1->Document->QueryInterface(IID_IHTMLDocument3,
(void**)&ppDoc3);

if (!SUCCEEDED(hr)) {
Memo3->Lines->Add(TimeToStr(Now()) + "__捕获容器整体内容异常!");

}

id = "Passwd"; // 元素的ID
title = WideString(id).c_bstr(); //
ppDoc3->getElementById(title, &ppElem);
ppElem->get_outerHTML(&htmlsource);
ppElem->put_innerText(L"dddddddd"); // 写数据

IHTMLElement3 *ppElem3;
IHTMLDocument4 *ppDoc4;
IHTMLEventObj *ppEv;
IHTMLEventObj2 *ppEv2;
VARIANT varEventObject;
VariantInit(&varEventObject);
BSTR bstrType;
IDispatch *IDsp;

hr = ppElem->QueryInterface(IID_IHTMLElement3, (void**)&ppElem3);
if (!SUCCEEDED(hr)) {
ShowMessage("_e1!");

}
hr = ppDoc3->QueryInterface(IID_IHTMLDocument4, (void**)&ppDoc4);
if (!SUCCEEDED(hr)) {
ShowMessage("_e2!");

}

hr = ppDoc4->createEventObject(&varEventObject, &ppEv);
if (!SUCCEEDED(hr)) {
ShowMessage("_e3!");

}
hr = ppEv->QueryInterface(IID_IHTMLEventObj2, (void**)&ppEv2);
if (!SUCCEEDED(hr)) {
ShowMessage("_e4!");

}
IDsp = ppEv2;
bstrType = SysAllocString(L"onmousedown");
VARIANT_BOOL vBool = VARIANT_FALSE;
ppEv2->put_type(bstrType);
ppEv2->putref_srcElement(ppElem);
varEventObject.vt = VT_DISPATCH;
varEventObject.pdispVal = IDsp;

hr = ppElem3->fireEvent(bstrType, &varEventObject, &vBool);
if (!SUCCEEDED(hr)) {
ShowMessage("_e5!");

}
求指点
...全文
272 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
www_xxoopapa_net 2017-08-15
  • 打赏
  • 举报
回复
moongate

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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