CreateProcess()?

Hallo Experten!

Ich habe letztens mal gegoogelt und geguckt wie man mit einer Consolen Application irgendwie einen Prozess starten kann. Dabei ist mir des öfteren mal dieser Befehl begegnet.

Könnte mir vielleicht jemand erklären wie genau der funktioniert?
(Bitte nicht so schwer. So einfach es geht bitte.)

Gruß
Marlo

http://msdn2.microsoft.com/en-us/library/ms682512.aspx

http://msdn2.microsoft.com/en-us/library/ms682512.aspx

Sorry da steht:

#include
#include
#include

void _tmain( VOID )
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
LPTSTR szCmdline=_tcsdup(TEXT(„MyChildProcess“));

ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );

// Start the child process.
if( !CreateProcess( NULL, // No module name (use command line)
szCmdline, // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent’s environment block
NULL, // Use parent’s starting directory
&si, // Pointer to STARTUPINFO structure
&pi ) // Pointer to PROCESS_INFORMATION structure
)
{
printf( „CreateProcess failed (%d).\n“, GetLastError() );
return;
}

// Wait until child process exits.
WaitForSingleObject( pi.hProcess, INFINITE );

// Close process and thread handles.
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
}

Da sagen mir nur wenige Sachen was. Könntest du den nicht erklären. Vielleicht mal Zeile für Zeile…pls

Gruß
Marlo

Hi,

http://msdn2.microsoft.com/en-us/library/ms682512.aspx

Erklärt wird es hier
http://msdn2.microsoft.com/en-us/library/ms682425.aspx

Gruss,

Herb

Hallo,

danke erstmal das hat mir einen kleinen Eindruck verschafft. Allerdings kann ich immernoch einige Parameter nicht verstehen. Die englischen Begriffe sind mir noch nicht ganz vertraut. Könnte das nicht vielleicht jemand erklären. Was müsste ich denn z.B. machen wenn ich einen neuen Prozess starten möchte der durch eine Consolen Applikation aufgerufen wird und dann erstmal einfach läuft?
Wäre das machbar?
Wie wäre der Code. Vielleicht noch eine Erklärung pls…

Gruß
Marlo

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Was genau verstehst du nicht? Ein Beispielcode steht ja schon im ersten Link.
Es gibt auch eine deutsche Version, musst mal bei google suchen.
Du kannst auch einfach mal http://msdn.microsoft.com/library/default.asp?url=/l…
ausprobieren. Ist einfacher.

Hallo,

ehrlich gesagt verstehe ich nicht einen Parameter.

Gruß
Marlo

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]