通过发送消息,模拟点击“确定” “取消”事件
static int YesOrNo = 0; // 0 no 1 yes
void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime)
{
HANDLE hwd=FindWindowExA(NULL,NULL,NULL,"提示");//找到提示窗口
if(hwd)
::SendMessage((HWND)hwd, WM_COMMAND, MAKEWPARAM(IDNO, 0), NULL);//IDNO 取消按钮ID IDYES 确定按钮ID
KillTimer(NULL,1);
}
void print_info(string mesg)
{
SetTimer(NULL,1,60000,TimerProc);//创建定时器60s
int msgboxID =MessageBoxA(0,mesg.c_str(),"提示",MB_SETFOREGROUND|MB_YESNO);//创建提示窗口,含 取消、确定按钮
if(IDYES == msgboxID)
YesOrNo = 1;
else
YesOrNo = 0;
KillTimer(NULL,1);
}
void warning_info(string mesg)
{
YesOrNo = 0;
boost::thread th = boost::thread(boost::bind(print_info,mesg));//boost 创建线程
th.join();
}