这是我写的一段代码 调试很久后发现 他的编辑框控件需要得到鼠标按下的消息以后才会正常执行 请问有什么好办法没有
void CMyIEView::fill()
{
CComQIPtr<IHTMLDocument2> spDoc = GetHtmlDocument();
CComPtr<IHTMLDocument2> pDoc2Frame = GetDocFromFrame(spDoc);
CComQIPtr<IHTMLInputElement> spInput ;
CComQIPtr<IHTMLDocument3> lpdoc3 ;
CComQIPtr<IHTMLElement> lpInput;
CComBSTR TAGNAMEl;
VARIANT varint;
HRESULT hr=NULL;
pDoc2Frame->QueryInterface(IID_IHTMLDocument3, (void**)&lpdoc3);
lpdoc3->getElementById(CComBSTR("UA_InputId"),&lpInput);
if (lpInput!=NULL)
{
lpInput->get_tagName(&TAGNAMEl);
CString sCon;
VARIANT_BOOL variant;
sCon = CString(TAGNAMEl);
if (sCon.Find("input")!=-1||sCon.Find("INPUT")!=-1)
{
lpInput->removeAttribute(CComBSTR("id"),0,&variant);
}
lpInput.Release();
::SysFreeString(TAGNAMEl);
}
lpdoc3->getElementById(CComBSTR("logonId"),&lpInput);
if (lpInput!=NULL)
{
lpInput->get_tagName(&TAGNAMEl);
CString sCon;
sCon = CString(TAGNAMEl);
if (sCon.Find("input")!=-1||sCon.Find("INPUT")!=-1)
{
#ifdef _DEBUG
OutputDebugString("输入帐号");
#endif // _DEBUG
lpInput->setAttribute(CComBSTR(L"value"),CComVariant("xxxxxxx"));
}
lpInput.Release();
pDispatch.Release();
}
lpdoc3->getElementById(CComBSTR("password_rsainput"),&lpInput);
if (lpInput!=NULL)
{
lpInput->get_tagName(&TAGNAMEl);
CString sCon;
sCon = CString(TAGNAMEl);
if (sCon.Find("input")!=-1||sCon.Find("INPUT")!=-1)
{
#ifdef _DEBUG
OutputDebugString("输入密码");
#endif // _DEBUG
lpInput->setAttribute(CComBSTR(L"value"),CComVariant("3qxiexie"));
}
lpInput.Release();
}
lpdoc3->getElementById(CComBSTR(L"J-login-btn"),&lpInput);
lpInput->click();
lpInput.Release();
lpdoc3.Release();
pDoc2Frame.Release();
spDoc.Release();
}
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!