008
16.06.2005, 15:41 Uhr
GuenniAtWork
|
Vieleicht ist auch was in meinem Grundkonzept fehlerhaft. 1.Dialog Erstellt (Static für Restzeitanzeige und Button zum Abbrechen) 2.Funktion die den Dialog anzeigt. (RestartSystem) 3.Wenn Dialog angezeigt wird Funktion starten. (OnInitDialog oder sonstwo kA als Timer o. Thread) 4.Wenn Zeit abgelaufen Rechner Neustarten. 5.Wenn Abbrechen betätigt Funktion und Dialog beenden.
Ich vermute da ist Irgentwas verquer.
bis Jetzt ging entweder 2. oder 3.
Gibt es Da irgend ein Grundkonzept an das man sich halten sollte? Ich bin doch sicher nicht der Erste der sowas programiert!
Zitat von ~nobody: |
ich würde allerdings ne extrafunktion machen, die einfach die funktion, die du als thread starten möchtest aufruft
|
Hab ich mal gemacht. Bekomme aber nen Assert in
C++: |
void CRestartDlg::Restart(void) { do { CStatic* pRestart = (CStatic*)GetDlgItem(IDC_ST_RESTART); //hier Assert CString sRSMessage = "Das System wird in ##s neu gestartet!"; CString sTime; sTime.Format("%i",--m_iRestartTime); sRSMessage.Replace("##",sTime); pRestart->SetWindowText(sRSMessage); pRestart = NULL; delete pRestart; Sleep(1000); }while(!m_bCancel && m_iRestartTime > 0);
if (!m_bCancel) AfxMessageBox("Neustart"); //ExitWindowsEx(EWX_REBOOT | EWX_FORCEIFHUNG,NULL); }
|
-- Gruß GuenniAtWork Dieser Post wurde am 16.06.2005 um 15:49 Uhr von GuenniAtWork editiert. |