我想在句柄可用时使程序工作。我正在考虑在初始化时设置计时器......并将所有程序源插入其中,但如果我在 while 循环中处理程序时丢失了句柄,它不会让我立即关闭对话框。
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);
}
所以我的问题是当外部应用程序的句柄可能丢失时关闭对话框的最佳方法是什么,可能是插入线程或有任何其他方法可以做到这一点?