在一个消息循环里面调用了
GetMessage( &msg, NULL, 0, 0 );
这个函数,贪图方便,连msdn也没有看,就从别人的代码里面考了过了
原来的代码这样
for(j=0;j<MAX_MSG_TRANS;J++) {
因为刚开始用了Timer,防止不断调用Timer的消息>if( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
.......
else
return;
在XP下面不用附加什么消息,好像很容易就返回了
今天在公司的2000下面用,竟然,一定要不断的给消息,比如鼠标移动等,才能return 出来。查一下msdn,GetMessage是bool类型,难道是if判断的问题。
2000和xp有这样的细微差别吗?还是测试的环境有什么不一样的地方。
当然if(GetMessage)这个地方是一定要改的,看来也不能太相信别人的代码了。
GetMessage( &msg, NULL, 0, 0 );
这个函数,贪图方便,连msdn也没有看,就从别人的代码里面考了过了
原来的代码这样
for(j=0;j<MAX_MSG_TRANS;J++) {
因为刚开始用了Timer,防止不断调用Timer的消息>if( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
.......
else
return;
在XP下面不用附加什么消息,好像很容易就返回了
今天在公司的2000下面用,竟然,一定要不断的给消息,比如鼠标移动等,才能return 出来。查一下msdn,GetMessage是bool类型,难道是if判断的问题。
2000和xp有这样的细微差别吗?还是测试的环境有什么不一样的地方。
当然if(GetMessage)这个地方是一定要改的,看来也不能太相信别人的代码了。
博客讲述在消息循环里调用GetMessage函数,从他人代码复制而来未看MSDN。在XP系统下较易返回,在2000系统需不断给消息才能返回。怀疑是if判断问题,也不确定是系统差异还是测试环境问题,强调不能轻信他人代码。
3577

被折叠的 条评论
为什么被折叠?



