Problem: Möchte aus C++ eine Anwendung ausführen (msinfo32) mit gewissen Parametern. Dazu hab ich folgenden Code geschrieben:


Code:
 DWORD le;
		STARTUPINFO si;

		LPTSTR szCmdline = _tcsdup(TEXT("\"" + m_windir + "\\system32\\dllcache\\msinfo32.exe /report /nfo " + m_path + "\\msinfo32\""));
		// this->MessageBox(szCmdline);
		PROCESS_INFORMATION hInfo;
		int e = CreateProcess( NULL, szCmdline, NULL , NULL, false, 0, NULL, NULL, &si , &hInfo); 
		le = GetLastError();

m_path und m_windir sind gegeben. Aber ich bekomm die Applikation nicht gestartet. Kann mir einer helfen? Ich vermute es liegt entweder an irgendwelchen Rechten (ich selbst bin admin) oder an den ganzen Paramtern die man vergeben kann. Aus ner Cmd-Shell geht es, wenn ich (wie ich es jetzt übergangsweise mache) diesen Befehl in ein batch-File schreib und dann über

Code:
 SYSTEM()

ausführe, dort geht es.

Ich brauch halt auf jeden Fall eine Rückmeldung, wenn das Programm beendet ist. Mit ShellExecute() kann ich die Applikation zwar ausführen, bekomm aber keine RM ob schon beendet oder noch läuft!

Kann mir da jmd helfen?