Programm beenden und neu starten



  • Hi Leute,
    gibt es in den MFC sowas wie in Java:

    System.exit(-1);
    

    Ich will einfach nur das Programm sofort beenden und danach neu laden....



  • Wenn Du das machen willst, solltest Du erst das Programm nochmal starten und dann das erste beenden. Wenn Du es erst beendest, wie soll es sich dann neu starten. 😕 Ist ja schließlich beendet worden. 😉

    Versuchs mal so:

    CString strPath = GetCommandLine(); // Pfad + Name der Exe holen  
    strPath.Delete(0, strPath.ReverseFind( '\\') +1); // letztes '\' finden  
    strPath.Remove('"'); 
    strPath.TrimLeft(); 				
    m_bDestroy = TRUE;     
    ShellExecute(0,0, strPath, 0, 0, SW_NORMAL); 
    this->SendMessage(WM_CLOSE, 0, 0);
    


  • Win32Noob schrieb:

    Hi Leute,
    gibt es in den MFC sowas wie in Java:

    System.exit(-1);
    

    Ich will einfach nur das Programm sofort beenden und danach neu laden....

    Warum willst Du das eigentlich?



  • ja warum will er das wohl? schau mal auf seinem namen ( sory konnt ich mir nicht verkneifen )

    ne ich denke mal der will seine variablen ect. alle wieder auf default setzen und alle felder ect. loeschen, aber da wuerd ich dir zur einer funktion raten, welche das macht !



  • es geht doch, wenn du die anwendung erst ein 2. mal startest und dann beendest, mfc-anwendungen können mehrmals gestartet werden, sofern du nicht selbst code drin hast, der es verbietet

    WinExec("Test.exe", SW_SHOW); //An dieser stelle kann man auch ShellExecute verwenden
    OnOK();
    

    mfg Emperor_L0ser


Anmelden zum Antworten