ハンドルが利用可能なときにプログラムを動作させたい。初期化時にタイマーを設定することを考えています...そしてプログラムのすべてのソースをそれに挿入しますが、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);
}
だから私の質問は、外部アプリケーションのハンドルが失われたときにダイアログを閉じる最良の方法は何ですか?おそらくスレッドを挿入するか、それを行う他の方法がありますか?