请教CInternetSession类以及相关控件的问题,急!
我在Internet编程时遇到了以下问题,我使用了CInternetSession类的OpenUrl函数来打开一个http连接(我可以不等待反馈的),但从实际运行的结果来看OpenUrl是个同步操作,必须会等待反馈的,但我希望能提交一个异步的请求,即打开http连接就不管了立即返回,我试着用以下两种方法做都不成功,向网上的诸位高手请教
1.方法一
采用OpenUrl的异步调用方式,我从CInternetSession类派生出自己的CMySession类,
在CMySession类的构造函数中调用EnableStatusCallback允许回凋,同时重载了
CInternetSession类的OnStatusCallback函数,但当我以INTERNET_FLAG_ASYNC方式
调用OpenUrl时却出错或没有触发OnStatusCallback函数,请高手指点具体的做法或提
供相关的参考代码
2.方法二
在VC++中加入系统Microsoft Internet Transfer Control, version 6.0控件即
Msinet.ocx控件,它会自动生成CInet类.(因为我在VB中使用该控件一切OK,使用
OpenUrl方法可以等待打开http连接的反馈,使用Execute方法可以打开http连接不等待
反馈而立即返回,但CInternetSession类只有OpenUrl方法没有Execute方法)
我在CInet类中可以找到对应的Execute方法,但我在执行时出错,错误是
CWnd::InvokeHelper()中ASSERT(m_pCtrlSite != NULL); // not an OLE
control (not yet, at least)
是不是控件注册有问题,该如何注册,请高手指点
谢谢!!!