m_hThread = CreateThread(NULL, 0, RevThread, this, 0, &m_dwThreadID ); if( NULL == m_hThread )
{
iError = GetLastError();
return;
}
通过调试得到m_hTread的值是0xcccccccc,不为0,说明成功.
但RevThread这个函数却没有被执行.
怎么回事呢?
DWORD WINAPI RevThread(LPVOID lpParam)
{
MessageBox(NULL,"I Receive something!","hello",MB_OK);
.................
}
这个东西在另外一个项目中正常.
太怪了,其它有什么东西影响到呢?
{
iError = GetLastError();
return;
}
通过调试得到m_hTread的值是0xcccccccc,不为0,说明成功.
但RevThread这个函数却没有被执行.
怎么回事呢?
DWORD WINAPI RevThread(LPVOID lpParam)
{
MessageBox(NULL,"I Receive something!","hello",MB_OK);
.................
}
这个东西在另外一个项目中正常.
太怪了,其它有什么东西影响到呢?
解决方案 »
- 如何使用dll导出多个值,在dll中如何传出调用函数的值
- 程序退出时出错,只在部分电脑出现,
- Socket传输数据遇到的问题
- 我用TAPI写了一个自动拨号的程序,为什么拨号的时候会弹出一个"通话状况"的窗口.
- 如何编程发送"ctrl+W"消息给VC
- CDC::BitBlt()函数使用前设置的前景色与背景能起到什么特殊作用?哪位仁兄仁姐能给详细介绍一下!
- 小弟最近面试被一道逻辑题难住了,请各位老大指点一下(谢谢)
- 我在MFC中添加了一个.cpp文件,里面有一个线程,可在对话框上的按钮的响应事件中AfxBeginThread报错
- ATL下和非ATL下的struct/class 成员变量对齐?
- 100分:测试一个DLL?
- 为什么用“#import”命令不能将动态库导入?
- 200分求教!!!在IE上加工具条问题
....
unsigned long WINAPI ListenThread(LPVOID lpParam)
{
....
}
http://goboyy.51.net/FileSyncClient.rar
我已贴有完整的项目文件.
http://goboyy.51.net/FileSyncClient.rar
//一个简单的例子:
//如何创建线程
#include <windows.h>
#include <conio.h>DWORD WINAPI ThreadFunc( LPVOID lpParam )
{
char szMsg[80]; wsprintf( szMsg, "Parameter = %d.", *(DWORD*)lpParam );
MessageBox( NULL, szMsg, "ThreadFunc", MB_OK ); return 0;
}
VOID main( VOID )
{
DWORD dwThreadId, dwThrdParam = 1;
HANDLE hThread;
char szMsg[80]; hThread = CreateThread(
NULL, // default security attributes
0, // use default stack size
ThreadFunc, // thread function
&dwThrdParam, // argument to thread function
0, // use default creation flags
&dwThreadId); // returns the thread identifier
// Check the return value for success.
if (hThread == NULL)
{
wsprintf( szMsg, "CreateThread failed." );
MessageBox( NULL, szMsg, "main", MB_OK );
}
else
{
_getch();
CloseHandle( hThread );
}
}
加上m_hThread = NULL,就行了
0xccccccc表示没有值的意思
或者把if( NULL == m_hThread )去掉
就可以了
所以……你的代码根本没有执行
要是在国内有一套全中文的MSDN,我觉得相当多人的水平都会很高的。
可惜,这好象是不可能的。