一般的线程函数 UINT MyThread(LPVOID p),如果我想传参,
UINT MyThread(LPVOID p,char * filename)
请问AfxBeginThread();里面的参数怎么设置,
我是这样设置的AfxBeginThread(MYThread,(LPVOID) this)有问题
UINT MyThread(LPVOID p,char * filename)
请问AfxBeginThread();里面的参数怎么设置,
我是这样设置的AfxBeginThread(MYThread,(LPVOID) this)有问题
解决方案 »
- 排序和删除重复数组元素 好难啊
- 动态创建TreeCtrl,设置ImageList后,程序显示时错误
- 读写文件的时候,如何判断文件的最后一个字符是 一个完整的汉字,还是半个汉字?
- 设置软件安装路径
- 外包一个小项目,大家说说得花多少钱?
- 我怎样进行帮助文件扩展编程?
- how to convert type _variant_t to type DWORD?
- 请问Sendmessage与Postmessage的不同
- 如何在捕捉编辑框的“回车”事件(消息)?
- 关于curl函数curl_easy_perform返回CURLE_COULDNT_RESOLVE_HOST?
- 打印问题,涉及XML.小妹觉得很难解决,请各位哥哥帮忙啊!!!!急!!!
- 是不是一个类中只能响应一个WM_TIMER,马上结贴
你可以使用一个结构来表示这2个参数。然后就把这个结构作为一个参数传进去了。struct MyStruct
{
LPVOID p;
char szFileName[256];
};MyStruct *pStruct = new MyStruct;
pStruct->p = p;
strcpy(pStruct->szFileName, filename);
AfxBeginThread(MYThread,(LPVOID)pStruct);UINT MyThread(LPVOID p)
{
MyStruct *pStruct = (MyStruct *) p;
........ delete pStruct;
}
因为传入的指针必须是产生于堆上,栈上产生的是无效的,注意二楼的
MyStruct *pStruct = new MyStruct;
pStruct->p = p;这一段