惭愧!分不多,先谢谢了! 
    我新建了一个继承 CWnd 类的新类CWebBrowser2,然后用 其中的CWebBrowser2.Navigate 方法打开一个网页地址,这些都没有问题。    然后我用 CWebBrowser2.GetDocument() 得到其IDispatch接口,通过IDispatch接口得到IHTMLDocument3接口,在得到所有网页链接的IHTMLElementCollection接口,取得其中一个链接IHTMLElement接口,然后调用IHTMLElement->Click() 方法进行模拟点击。这时也能正常访问该网址。    但是现在有一个问题,就是我想改变IHTMLElement->Click() 时请求的 HTTP 协议的报头的 User-Agent、Accept等报头,应该怎么实现呢?用CWebBrowser2.Navigate 方法请求时可以传一个参数指定HTTP Header 而IHTMLElement->Click() 的HTTP Header改变的话,应该在那里呢?大致步骤如下:class CWebBrowser2::CWnd{public:LPDISPATCH GetDocument();void Navigate(LPCTSTR URL, VARIANT* Flags, VARIANT* TargetFrameName, VARIANT* PostData, VARIANT* Headers);}CWebBrowser2 cw2;main(){//在这里可以用Navigate的参数指定自定义的HTTP Header(如:User-Agent:MyBroswer 1.0之类的。)cw2.Navigate("http://www.microsoft.com",xx,xx,xx,xx,Headers);}//网页加载完成时调用DocumentComplete(){ CComPtr<IDispatch> spDispatch,spDispatch2; CComQIPtr<IHTMLDocument3,&IID_IHTMLDocument3> pDoc3;
 CComPtr<IHTMLElementCollection> pElementCol;
 CComPtr<IHTMLElement> pElement;spDispatch = cw2.GetDocument();pDoc3 = spDispatch;pDoc3->getElementsByTagName("A",&pElementCol);//取一个链接pElementCol->item(0,0,&spDispatch2);spDispatch2->QueryInterface(IID_IHTMLElement, (void **)&pElement);//问题在这里,怎么才能自定义这个Click() 的Http Header呢?pElement->Click();}谢谢了!