一个关于等待用户输入的有关问题~标题下说不太明白

一个关于等待用户输入的问题~标题上说不太明白
例如用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 使线程受信