问题说明: 目的就是跳出一个死循环环境: 首先运行对话框,然后通过用户点击一个按钮进入了一个死循环我想接收键盘输入的Q字符,来中断这个死循环由于键盘焦点的转换,不能响应 WM_CHAR 的消息了,所以行不通我也用 PRETRANSLATEMESSAGE 了,在没点按钮之前行,可是点了之后还是不行
于是我创建了一个新的线程但是在新的线程里应该加什么代码来接收用户输入字符呢??高手请指教~~小弟新手,感激不尽(希望大家能听懂我的问题。。我语文不好。)
于是我创建了一个新的线程但是在新的线程里应该加什么代码来接收用户输入字符呢??高手请指教~~小弟新手,感激不尽(希望大家能听懂我的问题。。我语文不好。)
从你的描述来看,你并不在乎循环到底执行了多少次,
仅是想,不按q,就一直跑而已.
这样的话,其实连子线程也不用开的.用户点过按钮之后,
设定一个100ms定时器,
定时时间到时,就执行n次循环,
注意,执行n次循环的时间要很小,取决于你的n
执行完循环之后程序仍然可以等待键盘输入
输入Q则kill定时器.设定100ms时因为设的再小(50几吧)就没用了,
设的太大,则n大的话,可能按键盘的时候还再循环,
n小的话,则循环执行次数会太少.
一般人主动按一下键,再松开,其时间大约180ms(参见各种小游戏),
设定100ms,可能有时按键就不响应,不过概率应该不大.