一个关于等待用户输入的有关问题~标题下说不太明白
一个关于等待用户输入的问题~标题上说不太明白
例如用MFC建了一个对话框程序,上面添加了一个按钮,
// 定义变量
int s=0;
//按钮对应的响应函数为
void CAAADlg::OnPress()
{
while (s!=1)
{
;
///请问此处应当加点什么,当接收到鼠标消息后再让程序进行下去
///避免程序总是处于循环状态,CPU占用率处于很高的状态
}
MessageBox("OnPressed","ties",MB_OK);
}
//添加LButtonDown的消息响应函数
void CAAADlg::OnLButtonDown(UINT nFlags, CPoint point)
{
s=1;
CDialog::OnLButtonDown(nFlags, point);
}
也可以这样来表达我的意思,就是想了解电脑在执行程序时,把程序的界面绘制好以后等待用户输入,这个时候程序在执行什么命令,使得CPU使用率处于较低状态;
再换个方法表达,例如在CMD中(win+r cmd)电脑等待用户输入时,程序是用什么方法使得cpu使用率也是处于较低状态,应该不会是循环吧~
------解决方案--------------------
WaitForSingleObject(...)
等待受信
初始化为线程挂起
OnLButtonDown 使线程受信
例如用MFC建了一个对话框程序,上面添加了一个按钮,
// 定义变量
int s=0;
//按钮对应的响应函数为
void CAAADlg::OnPress()
{
while (s!=1)
{
;
///请问此处应当加点什么,当接收到鼠标消息后再让程序进行下去
///避免程序总是处于循环状态,CPU占用率处于很高的状态
}
MessageBox("OnPressed","ties",MB_OK);
}
//添加LButtonDown的消息响应函数
void CAAADlg::OnLButtonDown(UINT nFlags, CPoint point)
{
s=1;
CDialog::OnLButtonDown(nFlags, point);
}
也可以这样来表达我的意思,就是想了解电脑在执行程序时,把程序的界面绘制好以后等待用户输入,这个时候程序在执行什么命令,使得CPU使用率处于较低状态;
再换个方法表达,例如在CMD中(win+r cmd)电脑等待用户输入时,程序是用什么方法使得cpu使用率也是处于较低状态,应该不会是循环吧~
------解决方案--------------------
WaitForSingleObject(...)
等待受信
初始化为线程挂起
OnLButtonDown 使线程受信