CreateProcess problem...



  • Huhu leute ich habe ein kleines problem.

    Ich möchte einen neuen Prozess aufrufen in meiner exe

    char lol[300];
    int i;
    for(i=1; i < argc; i++)
    {
    sprintf(lol, "%s ",argv[i]);
    CreateProcess(NULL,lol,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);

    Dieses geht nicht , mein prog soll aber wenn es

    prog.exe anderesprog.exe -u parameter paramter2

    anderesprog.exe -u parameter paramter2 so aufrufen, dies tut er aber leider nicht, was ich nicht verstehe.

    Wäre nett wenn jemand da weiß wie das funktioniert, oder wo der fehler sein könnte.

    lG Baduhamma



  • STARTUPINFO			si;
    	PROCESS_INFORMATION pi;
    
    	memset(&si,0,sizeof(si));
    	memset(&pi,0,sizeof(pi));
    	si.cb       =sizeof(si);
    
    	char	prog[MAX_PATH];
    	char	args[MAX_PATH];
    
    	GetWindowsDirectory(prog,sizeof(prog));
    	strlcat(prog,"\\Notepad.exe",sizeof(prog));
    	strlcpy(args,prog,sizeof(args));
    	strlcat(args," ...Params...",sizeof(args));
    
    	CreateProcess(prog,args,0,0,TRUE,CREATE_DEFAULT_ERROR_MODE,0,".",&si,&pi);
    
    	CloseHandle(pi.hProcess);
    


  • Den *ersten* Parameter solltest Du *immer* auf NULL lassen! Damit kommen die meisten Programme nicht zurecht, da sie als 1. Parameter den EXE-Namen selber erwarten (was dann nicht mehr der Fall ist).


Anmelden zum Antworten