001
08.04.2004, 13:45 Uhr
Pablo
Supertux (Operator)
|
Ok, -s -f -t 0 sind die Argumente, die das Programm shutdown.exe braucht, um den Auftrag zu erledigen. Windows schaltet das System auf verschiedenen Art und Weisen, und mit -s -f -t 0 teilst du shutdown.exe, wie es windows runterfahren soll. Das hat allerdings mit deinem C++ Programm gar nichts zu tun. Es ist einfach so, shutdown.exe braucht diese Paramater und daran kannst du nichts ändern.
Die Funktion system wird so definiert:
Zitat: |
man pages #include <stdlib.h>
int system(const char *string);
|
Das heißt, dass system(const char* string) in stdlib.h deklariert und nicht in iostream.h. Deshalb funktioniert nicht, wenn du nur iostream.h.
Zitat: |
Cebinem postete Noch eine letzte Frage, warum geht z. B.:
C++: |
#include <stdlib.h>
int main() { system("C:\\Programme\\Ahead\\Nero\\nero.exe -s -f -t 0 "); return 0; }
|
nicht, muss ich hier etwas anderes schreiben, weil es nicht im Windowsordner ist?
|
Das habe ich bereits erklärt. Das hat nichts mt deinem Programmzu tun, sondern mit dem aufgerufenen Programm. Wenn sowas nicht funktioniert, heißt es, dass nero.exe diese Argumente -s -f -t 0 nicht akzeptiert. Viele Programmen, die meisten sogar, stoppen, wenn du ihnen falsche Paramter übergibst. Bevor du ein Programm über system(); startest, solltest du wissen, welche Argumente notwendig sind, um dieses Programm zu starten. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 08.04.2004 um 13:45 Uhr von Pablo editiert. |