描述:
我用下面的代码实现
//get IHTMLSelectElement 成功得到选项元素
IHTMLSelectElement* pselectelement=NULL;
spSelectElement->QueryInterface( IID_IHTMLSelectElement,(void **) pselectelement);
VARIANT * p=NULL;
pselectelement->get_onchange(p); //得到pselectelement的变化时的事件句柄失败
HTMLSelectElementEvents* pselectelementevent=NULL;
pselectelement->QueryInterface( DIID_HTMLSelectElementEvents,(void **) &pselectelementevent);
//get_onevent 在MSDN中有描述但在头文件MSHTML.H中找不到
((IHTMLElement*)pselectelement)->get_onEvent( &_variant_t(pDisp) );
if (pselectelementevent)
HRESULT hr=_com_dispatch_method(pselectelementevent,
0x3e9, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
有做过的吗,帮解决一下
解决方案1:
spSelectElement->QueryInterface( IID_IHTMLSelectElement,(void **) pselectelement);
-----------------------------------------------------
改为:
spSelectElement->QueryInterface( IID_IHTMLSelectElement,(void **)&pselectelement);
VARIANT p;
pselectelement->get_onchange(&p);