system(const char *) ohne Dos-Box ???
-
Hmmm, nein da kenne ich keine direkte Möglichkeit, dass diese Boxen nicht aufgepoppt werden.
Eine Möglichkeit wäre vielleicht noch, dass du die Funktion als extra Programm aussonderst, wenn das geht, und dann dieses Programm per ShellExecute() versteckt aufrufst, dann sollten eigentlich die anderen Aufrufe nicht in einer extra Box aufgehen sondern in dieser versteckten "angezeigt" werden.
-
ne das ist leider nicht moeglich, weil das eine teilfunktionalitaet ist die ich brauche. ansonsten haette ich natuerlich das exe per shellexecuteex aufrufen koennen :))
aber nochmal ne frage dazu:
ich habe gerade versucht die system(const char*)
aufrufe zu ersetzen und habe hierzu erstmal folgenden include gemacht fuer ShellExecuteEx:#include <shlwapi.h>danach habe ich einen system(command) aufruf ersetzt durch folgendes:
SHELLEXECUTEINFO sei; ZeroMemory( &sei, sizeof( sei ) ); sei.cbSize = sizeof( sei ); sei.fMask = SEE_MASK_NOCLOSEPROCESS; sei.lpFile = "cte.exe"; sei.lpParameters = msg; sei.lpDirectory = NULL; sei.nShow = SW_HIDE; ShellExecuteEx( &sei ); if ( sei.hProcess ){ // warte bis der prozess beendet wurde.... WaitForSingleObject( sei.hProcess, INFINITE ); CloseHandle( sei.hProcess ); }Aber mein compiler meckert ueber irgendwelche sachen in der includierten header (siehe oben) obwohl die ja korrekt sein muesste. woran kann das liegen (brauche ich zusaetzliche irgendwelche header fuer ShellExecuteEx !?!?!?
danke.
-
folgende zeile muesste entsprechend sein:
..
sei.lpFile = command;
sei.lpParameters = NULL;
..gruss
-
Mit ShellExecuteEx() kenn ich mich nicht aus; hab bisher nur die ShellExecute() benutzt und dazu brauchst man ja nur die windows.h.
Ich verschieb dich jetzt mal ins WinAPI-Forum, vielleicht weiß da jemand was falsch ist oder kennt sogar eine WinAPI-Funktion die dir das Ersetzen erspart (
).Viel Erfolg!
-
Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Vielleicht bringt SetStdHandle etwas

-
peperonee schrieb:
Aber mein compiler meckert ueber irgendwelche sachen in der includierten header (siehe oben) obwohl die ja korrekt sein muesste.
und was meckert er sonst noch? plattform sdk downgeloadet? remarks und info's beachtet?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shellexecuteex.asp[edit]
blödsinn gelöscht
-
Hast du mal zu Beginn noch windows.h eingebunden?
-
ja ich habe vorher windows.h eingebunden.
die fehler die angezeigt werden sind komischerweise syntax-fehler in der header shlwapi.h und das kann ja nicht sein.danke.
-
Kann es sein, dass du dir ein PSDK-Update runtergeladen und installiert hast, aber das PSDK-Verzeichnis in VC++ bei den Verzeichnissen unter Optionen nicht ganz oben steht, sodass es zu einem Versionskonflikt kommt

Was für Fehler bekommst du denn genau (mal nur die ersten paar)