webbrowser fireevent事件触发无效?也不报错,求指点!
给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!");
}
求指点