pElem->click()为什么出错,100分决不食言。
今天我碰到一个问题,比较着急。
我在用程序登陆邮箱的时候,已经在程序中输入了用户名、密码,但是那个提交的按钮是一个image,我找到image后,调用pElem->click()出错,不明白什么问题。程序如下:
IHTMLInputImage *pImage = NULL;
pElem->QueryInterface(&pImage);
//hr = pDisp->QueryInterface(IID_IHTMLInputImage,(void **)&pImage);
if( pImage != NULL )
{
pImage->get_src(&bValue);
CString src(bValue);
SysFreeString(bValue);
if(src.Compare("http://mail.sina.net/images/msn03.gif") == 0 )
{
pElem->click();
}
pImage->Release();
}
调用pElem->click();为什么出错呢?难道是IHTMLInputImage 不能调用click吗?那样的话这样的一个页面怎么提交呢?因为页面上这个image还有一个onclick函数进行验证,所以还必须点击这个图片。
问题点数:100、回复次数:6Top
1 楼happyparrot(快乐鹦鹉)回复于 2005-08-04 18:10:09 得分 30
调用pElem->click();
--pElem是什么东西?你提供的代码中没有阿。
图片是不是贴在什么控件上的呢?Top
2 楼hou2003(阿超)回复于 2005-08-05 09:20:15 得分 0
前面的就是这个样子了。
IHTMLElement* pElem;
hr = pDisp->QueryInterface( IID_IHTMLElement,(void **)&pElem);
if ( hr == S_OK )
{
加上上面的代码
}
其他的可能和普通de我们在一个页面上查询控件一样。
就是说对IHTMLInputImage类型的IHTMLElement能够调用click吗。你给出一个这样的例子吗,Top
3 楼fisker0303(天塌了,地陷了,小花狗不见了.)回复于 2005-08-05 09:29:15 得分 30
你要描述下出的什么错误啊,pElem不是空指针吧?Top
4 楼hou2003(阿超)回复于 2005-08-05 09:40:07 得分 0
空指针不会的,都是不为空才进去的,出的错误就是那种内存错误。我看了那个网页的源码,提交的地方就是一个图片
Top
5 楼goodboyws(深夜不眠者(VCMVP))回复于 2005-08-05 10:05:11 得分 40
感觉pElem应该是个智能指针之类,否则
pElem->QueryInterface(&pImage);
会有问题
是不是pElem被释放了
能把全部代码贴上来么
Top
6 楼hou2003(阿超)回复于 2005-08-15 17:00:05 得分 0
好几天没来了,结一下帖,谢谢大家,问题已经解决了。Top




