void CMFCApplication2Dlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
std::string a = "sbsbs";
CString aaa(a.c_str());
// CString aaa =a.c_str();
SetTimer(1, 2000, NULL);
//MessageBox(aaa, _T("B"));
AfxMessageBox(_T("asasassas") );
//CDialogEx::OnOK();
}
void CMFCApplication2Dlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//HWND hWnd = ::FindWindow(NULL, _T("B")); //查找标题为B的窗口,返回窗口句柄
//if (hWnd) //如果窗口句柄存在
{
//::SendMessage(hWnd,WM_SYSCOMMAND,SC_CLOSE,NULL); //关闭这个窗口,如果Messagebox的对话框没有MB_YESNO或者MB_OKCANCEL这样类似的属性,这个也可以实现关闭
keybd_event(13, 0, 0, 0); //模拟回车键按下
}
KillTimer(1);
//CDialogEx::OnTimer(nIDEvent);
}
1,是实现弹出的对话框出现后等2秒自动消失。
本来应该是通过按按钮时会消失,把此功能通过时间记时器开启的线程中通过keybd_event函数代替按确定或取消来实现。应该也可以实现按字母或数字的效果。