CHtmlView,点击网页中的按钮

有如下HTML,如何用程序触发点击按钮呢?

  1. <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
  2. <HTML>
  3. <HEAD>
  4. <TITLE>NewDocument</TITLE>
  5. <METANAME="Generator"CONTENT="EditPlus">
  6. <METANAME="Author"CONTENT="">
  7. <METANAME="Keywords"CONTENT="">
  8. <METANAME="Description"CONTENT="">
  9. </HEAD>
  10. <BODY>
  11. <inputtype="button"id="btnTest"value="Test"onclick="alert('点击了我');"/>
  12. </BODY>
  13. </HTML>


首先看JS的写法

  1. varoEvent=document.createEventObject();
  2. document.getElementById("btnTest").fireEvent("onclick",oEvent);


把这段在翻译到C++里面就是:

  1. IHTMLDocument*pDoc=(IHTMLDocument*)GetHtmlDocument();
  2. CComQIPtr<IHTMLDocument3>pDoc3(pDoc);
  3. CComQIPtr<IHTMLDocument4>pDoc4(pDoc);
  4. if(pDoc3&&pDoc4)
  5. {
  6. IHTMLElement*pElem=NULL;
  7. pDoc3->getElementById(_bstr_t(_T("btnTest")),&pElem);
  8. CComQIPtr<IHTMLElement3>pElem3(pElem);
  9. if(pElem3)
  10. {
  11. CComPtr<IHTMLEventObj>pEvent;
  12. pDoc4->createEventObject(NULL,&pEvent);
  13. if(pEvent)
  14. {
  15. _variant_tvEvent(pEvent);
  16. VARIANT_BOOLvbSuccess=VARIANT_FALSE;
  17. pElem3->fireEvent(_bstr_t(_T("onclick"))
  18. ,&vEvent
  19. ,&vbSuccess
  20. );
  21. }
  22. }
  23. }


很简单吧

你可能感兴趣的:(html,C++,c,C#)