Einen Prozess mit CreateProcess() starten



  • Hallo,

    ich möchte - zu Übungszwecken - einen einfachen Prozess mit der WinAPI starten. Laut dieser Seite dürfte das ja auch noch nichteinmal so schwer sein, einfach mal die notepad.exe zu starten. Da ich kein anständiges Beispiel gefunden habe, sieht der Code jetzt so aus:

    #include <windows.h>
    
    int main(void) {
    
        STARTUPINFO siStartupInfo;
        PROCESS_INFORMATION piProcessInfo; 
    
        CreateProcess(
            "\"C:\\Windows\\system32\\notepad.exe\"",
            NULL,
            NULL,
            NULL,
            false,
            NULL, 
            NULL, 
            NULL,
            &siStartupInfo,
            &piProcessInfo
        );
    
        return 0;
    }
    

    Doch der Prozess wird nicht gestartet, auch nicht, wenn man dieses Programm durch while(1) am Laufen hält. Liegt das an einem Argument oder muss man da in die Tiefen von WinAPI einsteigen, um das Programm hinzubekommen?

    Qt z.B. bietet ja auch eine QProcess-Klasse an. Benutzt diese Klasse (unter Windows) auch die Funktionen der WinAPI und erleichtert nur die Benutzung?

    Danke im Voraus,

    Amgon



  • Hallo,

    man sollte schon etwas vernünftiges in siStartupInfo und piProcessInfo eintragen, zumindest die Größe und die entsprechenden Werte setzen.

    MfG,

    Probe-Nutzer



  • Ist es so schwierig das Beispiel auf der MSDN zu kopieren???


Anmelden zum Antworten