读书人

在for(;)循环中等待键盘或鼠标的操作后

发布时间: 2012-04-03 12:38:19 作者: rapoo

在for(;;)循环中等待键盘或鼠标的操作后,再继续循环:问题
有朋友说用WaitForSingleObject来实现,
但我转到WIN编程还不久,所以很不懂
for(;;)
{
WaitForSingleObject(1111,2222);
.....
.....
}

这1111是什么句柄啊,我不懂,在WaitForSingleObject中,如何会返回“鼠标点击左键”后或键盘按键,然后再去执行 "..... "呢?

请高手能给我做一个BCB下的例子吗?多谢。

[解决办法]
WaitForSingleObject(1111,2222);
这个函数是等待目标句柄有消息发出,时间为2000ms
WaitForSingleObject(this-> handle,2000);
这个办法并不好,应为你的事件是触发的,而这个是要设定一个时间。
你可以在循环中发出一个消息SendMessage,因为你是要键盘或鼠标的响应的。
另外写一个函数来响应这个消息。响应完了再继续循环。
[解决办法]
你应该在键盘或鼠标的操作之后设置某种标志,
在for循环中检测这个标志。

读书人网 >C++ Builder

热点推荐