我想在程序中弹出一个对话框,在这对话框里显示倒计时,例如在30内如果
用户什么也不操作的话,程序将自动把这个对话框关闭,并且返回。谢谢!

解决方案 »

  1.   

    在弹出对话框的同时Settimer(...);
    在OnTimer()中关掉对话框
      

  2.   

    时间一到就调用
    OnCancel();
      

  3.   

    声明一下,是非MFC的。
    谢谢yinx(yinx)的提示,我感觉有了一点思路,但是
    我想要用SendMessage可能就必须用在起一个线程来计
    时和发消息的,不知道能不能不起多线程就可以实现
    呢?
      

  4.   

    BOOL CALLBACK EnumChildProc2(HWND hwnd, LPARAM lParam)
    {
    char sWindowClass[256];
    CString strWindowClass;
    CString strWindowName;

    ::GetClassName(hwnd, sWindowClass, 256);

    strWindowClass = sWindowClass;

    if(strWindowClass==_T("KUIElement"))
    {
    char sWindowName[256];
    ::SendMessage(hwnd, WM_GETTEXT,256, (LPARAM)sWindowName);
    CString strk;
    strk=sWindowName;
    if(strk=="确定")
    {
    CWnd::FromHandle(hwnd)->SendMessage(WM_LBUTTONDOWN);
    CWnd::FromHandle(hwnd)->SendMessage(WM_LBUTTONUP);
    }
    }



    return TRUE;
    }
    CWnd* kWnd=CWnd::FindWindow(NULL,"金山网镖2002");
        if(kWnd)
    {
    kWnd->PostMessage(WM_CLOSE);
    CWnd* oWnd=CWnd::FindWindow(NULL,"确认");
    if(oWnd)
    ::EnumChildWindows(oWnd->GetSafeHwnd(), EnumChildProc2, 0);
    }
      

  5.   

    各种消息都试了(WM_CLOSE, WM_QUIT, WM_LBUTTONDOWN, WM_LBUTTONUP)
    ,可惜对话框没有反应,最后是用DestroyWindow才解决。