Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Programme starten

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.07.2002, 10:43 Uhr
Astardes



hi !

Ich muß ein Programm aus meinem Programm heraus ausführen. Welche Funktionen stehen mir diesbezüglich zur Verfügung und wie kann ich sicherstellen das ein Programm wirklich zur Laufzeit wirklich nur 1x ausgeführt wird und erst wenn ein Programm fertig ist, daß dann das nächste Programm startet ?
--
MfG
Astardes
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.07.2002, 17:41 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
CreateProcess(), ShellExecute() WinExec(). Wobei der Vorzug CreateProcess() zu geben ist. Bei dieser Funktion hast du eigentlich alles was du brauchst.
WinExec() ist eigentlich nur noch ein Makro, welches eine abgespeckte Form von CreateProcess() aufruft!
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.07.2002, 11:09 Uhr
Astardes



Danke ... aber wie kommt ich an die Prozesse um sie eventuell abschiessen zu können, falls ein Programm hängt oder abgestürzt ist und auch um überprüfen zu können, ob sich der Prozess erfolgreich beendet hat. Könntest Du mir ein kleines Beispiel bauen ?
--
MfG
Astardes
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.07.2002, 18:37 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Astardes,

C++:
void CCreate_Terminate_ProcessDlg::OnCreate()
{
    STARTUPINFO si;
    SECURITY_ATTRIBUTES saProc;
    PROCESS_INFORMATION piProc;
    ZeroMemory(&si, sizeof(si));
    si.wShowWindow=ShowWindow(SW_SHOWNOACTIVATE);
    saProc.nLength = sizeof(saProc);
    saProc.lpSecurityDescriptor = NULL;
    saProc.bInheritHandle = FALSE;
    if(!m_bProcess){/*boolsche Variable im Ctor initialisiert*/
        CreateProcess ("C: \\Windows\\Notepad.exe",NULL,
            &saProc, NULL,FALSE,0,NULL,NULL,&si,&piProc);
        HANDLE hPro = piProc.hProcess;
        hProcess=hPro; //HANDLE hProcess Privates Datenelement
        m_bProcess=true;
    }
    else{
        MessageBox("Anwendung bereits offen!!!");
        return;
    }
}

void CCreate_Terminate_ProcessDlg::OnTerminate()
{
    TerminateProcess(hProcess, 11);    
}

Bei ("C: \\Windows\\Notepad... bitte das Leerzeichen entfernen
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 25.07.2002 um 18:39 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
13.08.2004, 11:09 Uhr
~Klistq
Gast


Wie kann ich aber ein Programm einfach so gleich starten lassen..
ich meine .,.. wenn ich ein button erstelle... --> dann BN CLicked ..--> Funktion hinzufügen --> Code bearbeiten --> Was muss ich dann als code einfügen damit ein programm startet (("C\Windows\\Notepad.exe)) sobald man auf den button klickt...?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: