MrChefman Geschrieben 9. Mai 2006 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
Klotzkopp Geschrieben 9. Mai 2006 Geschrieben 9. Mai 2006 Warum startest du das Programm denn über cmd.exe und nicht direkt? Zitieren
MrChefman Geschrieben 9. Mai 2006 Autor 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
Klotzkopp Geschrieben 9. Mai 2006 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
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.