主线程登录了,如何在其他线程中调用啊?高手帮帮忙!
//1.我先在MyDlg.h中定义一个全局的对象
public:
IWinHttpRequestPtr pHttpReq;
//2.然后在MyDlg.cpp中添加一个按钮函数进行登录
void CMyDlg::OnBnClickedLogin()
{......}
//3.登录成功以后,用下面这段代码获取信息
CString strUrl="******";
//pHttpReq.CreateInstance(__uuidof(WinHttpRequest));
pHttpReq->Open(_T("GET"),strUrl.AllocSysString());
pHttpReq->Send();
//问题来了,上面获取信息的代码放到主线程没有问题能获取到,
//但是如何把这段代码放到其他线程中啊?
//我下面这样操作,会出错:
//1.先在MyDlg.h中定义一个线程函数
public:
static UINT OnGetData(LPVOID lpParam);
//2.然后在MyDlg.cpp中实现函数
UINT CMyDlg::OnGetData(LPVOID lpParam)
{
CMyDlg* dlg=(CMyDlg*)lpParam;
CoInitialize(NULL);
CString strUrl="******";
// dlg->pHttpReq.CreateInstance(__uuidof(WinHttpRequest));
dlg->pHttpReq->Open(_T("GET"),strUrl.AllocSysString());
dlg->pHttpReq->Send();
CoUninitialize();
return 0;
}
//3.调用的时候就出错
AfxBeginThread(OnGetData,this);