MrChefman Geschrieben 9. Mai 2006 Teilen Geschrieben 9. Mai 2006 Hallo zusammen! Habe folgenden Code, mit dem ich einen externen Prozess starte. Das ganze soll auf einem Zielsystem mit WinCE4.2 geschehen. Wird das nun ausgeführt klappt auch alles. Soweit ok. Nur popt dabei die Win-Command-Shell auf (wohl durch den ersten Parameter von createProcess). Dies ist etwas unschön. Kennt jemand eine Lösung dafür, wie die Shell (bei WinCE) im Hintergrund bleibt und nur das aufgerufene Programm sich öffnet? Schonmal danke! Und hier ist der CODE (naja, der relevanet Ausschnitt): PROCESS_INFORMATION pi1 = {0}; #ifdef WIN32 STARTUPINFO StartupInfo; ZeroMemory(&StartupInfo, sizeof (STARTUPINFO)); StartupInfo.cb = sizeof (STARTUPINFO); StartupInfo.wShowWindow = SW_HIDE; StartupInfo.dwFlags = STARTF_USESHOWWINDOW; ZeroMemory(&pi1, sizeof (PROCESS_INFORMATION)); #endif TCHAR *pcExecName1 = TEXT("\\windows\\abcd.exe"); TCHAR *pcExecName2 = TEXT("\\windows\\efgh.exe"); TCHAR cExecBuf1[50] = {0}; TCHAR cExecBuf2[70] = {0}; cExecBuf1[0] = _T('\0'); cExecBuf2[0] = _T('\0'); _stprintf( cExecBuf1, TEXT(" /C %s"), pcExecName1 ); _stprintf( cExecBuf2, TEXT(" /C %s"), pcExecName2 ); if ( cExecBuf1[0] != 0 ) { if ( !CreateProcess( TEXT("CMD.EXE"),cExecBuf1,NULL,NULL,FALSE, #ifdef WIN32 NORMAL_PRIORITY_CLASS, #else 0, #endif NULL, NULL,#ifdef WIN32 &StartupInfo,#else NULL, #endif &pi1 ) ) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 9. Mai 2006 Teilen Geschrieben 9. Mai 2006 Warum startest du das Programm denn über cmd.exe und nicht direkt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MrChefman Geschrieben 9. Mai 2006 Autor Teilen Geschrieben 9. Mai 2006 Soll das folgendes heißen: if ( !CreateProcess( TEXT("ABCD.EXE"),cExecBuf1,NULL,NULL,FALSE, #ifdef WIN32 NORMAL_PRIORITY_CLASS, #else 0, #endif NULL, NULL,#ifdef WIN32 &StartupInfo,#else NULL, #endif &pi1 ) ) Aber was mache ich dann mit dem cExecBuf1, wo mein eigentlicher Programmaufruf drinsteht? Oder soll ich statt TEXT("CMD.EXE") einfach NULL eintragen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 9. Mai 2006 Teilen Geschrieben 9. Mai 2006 Wie man CreateProcess benutzt, steht in der MSDN Library: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcecoreos5/html/wce50lrfCreateProcess.asp Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.