2013-03-12 47 views
-4

我想在处理可用时使程序工作。我想在初始化时设置定时器...并将所有程序源插入到它中,但是如果在while循环中处理程序时丢失了句柄,它将不会让我立即关闭对话框。在处理窗口时执行程序mfc

BOOL WaitProcessDlg::OnInitDialog() 
{ 
    CDialogEx::OnInitDialog(); 
    SetTimer(IDC_PROGRESS1, 0, NULL); 
    return TRUE; 
} 

void WaitProcessDlg::OnTimer(UINT nIDEvent) 
{ 
    if(::FindWindow(NULL, str)){ 
    tempHWND = ::FindWindow(NULL, str); 
     while(tempHWND){ 
----------------------->>>>>>>>>>>> A LOT OF CODING <<<<<<<<<<<<<<<<---------------------- 
     } 
    EndDialog(0); 
    KillTimer(IDC_PROGRESS1); 
    } 

    CDialog::OnTimer(nIDEvent); 
} 

所以我的问题是什么是最好的方式来关闭对话框时,外部应用程序的手柄有可能会亏损,也许插入线程或有任何其他方式做到这一点?

+0

你的问题不是很清楚 - 你可以展示一些代码和一些你看到的问题的例子吗? – 2013-03-12 10:29:44

+0

我编辑了我的问题。 – Klasik 2013-03-12 10:51:54

+0

什么程序的句柄?它是一些外部应用程序吗? – 2013-03-12 10:53:38

回答