定时关闭的消息提示框
2010-11-06 09:46
127 查看
有时需要弹出一个messagebox提醒用户, messagebox会导致线程阻塞, 如果用户一直不点确定,则线程会一直阻塞在那里。
这个类实现了一个messagebox,如果用户在指定时间内没有点确定,则自动关闭该消息框。
这个类实现了一个messagebox,如果用户在指定时间内没有点确定,则自动关闭该消息框。
class AutoCloseMsg { public: AutoCloseMsg(void); ~AutoCloseMsg(void); void ShowMsg(LPCTSTR szContext,LPCTSTR szTitle,unsigned long uTime = 30000); static DWORD __stdcall ShowMsgThread(void* pParam); private: LPCTSTR szContext; LPCTSTR szTitle; unsigned long uTime; HANDLE hWait; }; AutoCloseMsg::AutoCloseMsg(void) { hWait = CreateEventA(NULL,false,false,NULL); } AutoCloseMsg::~AutoCloseMsg(void) { } void AutoCloseMsg::ShowMsg(LPCTSTR szContext,LPCTSTR szTitle,unsigned long uTime) { this->szContext = szContext; this->szTitle = szTitle; this->uTime = uTime; unsigned long ulThreadId; HANDLE m_hThread = CreateThread(NULL, 0, ShowMsgThread, this, 0, &ulThreadId); if(NULL == m_hThread) { return ; } else { CloseHandle(m_hThread); } if (WAIT_TIMEOUT == WaitForSingleObject(hWait,uTime)) { HWND hwnd = ::FindWindow(NULL, szTitle); if(hwnd) { ::SendMessage(hwnd,WM_CLOSE,NULL,NULL); } } return; } DWORD AutoCloseMsg::ShowMsgThread(void* pParam) { AutoCloseMsg* acm = (AutoCloseMsg*)pParam; MessageBox(NULL,acm->szContext,acm->szTitle,MB_OK); SetEvent(acm->hWait); return 0; } int _tmain(int argc, _TCHAR* argv[]) { AutoCloseMsg automsg; automsg.ShowMsg(_T("5秒后消失"),_T("xxx消息提示"),5000); getchar(); return 0; }
相关文章推荐
- 可定时关闭的纯css3消息提示框
- 可自动关闭的JS消息提示框
- CSS+jQuery实现可关闭的智能定位的浮动消息提示框
- 【C#】无损转换Image为Icon 【C#】组件发布:MessageTip,轻快型消息提示窗 【C#】给无窗口的进程发送消息 【手记】WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体 【手记】调用Process.EnterDebugMode引发异常:并非所有引用的特权或组都分配给呼叫方 【C#】DataRowState演变备忘
- 对tabcontrol控件增强,添加关闭按钮功能、呼吸灯标签闪烁功能、类QQ消息数量标签提示TIP
- JS网页定时自动关闭-无浏览器提示-ScreenSaver.prototype.timeout
- js 无提示自动定时关闭页面
- JS实现定时自动关闭DIV层提示框的方法
- JS实现定时自动关闭DIV层提示框的方法
- [VBS脚本]定时提示并关闭计算机
- 显示消息提示对话框,关闭当前窗口,刷新父窗口
- 两种方法关闭Win7右下角弹出的操作中心消息提示
- 定时关闭消息对话框
- 怎么关闭Win7系统中右下角操作中心的消息提示
- mc_PopupBox 弹出可定时自动关闭的消息窗口
- JS网页定时自动关闭-无浏览器提示-ScreenSaver.prototype.timeout(2)
- Popupwin结合Timer实现定时弹出消息提示
- jQuery实现类似微博定时刷新提示新消息的功能及有声音提示
- ci框架关闭notice消息提示方法
- C#+JS简单实现 定时轮询数据表 以及时弹出消息提示窗口