主线程登录了,如何在其他线程中调用啊?高手帮帮忙!//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);
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);
解决方案 »
- 客户端与服务端连接,如何得到输出结果...贴源码
- 关于驱动派遣函数的线程上下文的问题?
- 请高手解决奇怪的ADO问题。Error: -2147217887 Msg: IDispatch error #3105 Description: 多步 OLE DB 操作产生错误。请检查每个 OLE DB
- 又一个函数找不见啦!
- 帮帮忙,如何编程实现通过域名获取IP地址呢?
- 关于BYTE和其它类型数据之间的转换问题,高手请赐教!
- 在98下串口工作正常,在2000下读和写有问题 请指教
- .net
- vc++写文件到磁盘,哪一个更快?有人说:使用write,有人说fprintf,有人说不用File* fp指针,还有用CFile类函数
- ??????????????????救急救急救急!!!!!!!!!!!!!!!!!
- MFC串口16进制接收问题
- WINHTTP 307重定向,调用WinHttpQueryHeaders得到header不全
AFX_THREADPROC pfnThreadProc,
LPVOID pParam,
int nPriority = THREAD_PRIORITY_NORMAL,
UINT nStackSize = 0,
DWORD dwCreateFlags = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL
);
pfnThreadProc
Points to the controlling function for the worker thread. Cannot be NULL. This function must be declared as follows:
UINT __cdecl MyControllingFunction( LPVOID pParam );