2 Fragen, hoffe ihr könnt helfen
-
hi @ all,
erstmal den quelltext:system("tracert www.lala.de > ipconfig.txt"); // die Zeile STÖRT !!! CStdioFile inhalt; CString temptext; inhalt.Open("tracert.txt",CStdioFile::modeRead,NULL); while(inhalt.ReadString(temptext)) { m_text+=temptext; m_text=m_text + "\n"; } // m_text ist eine variable aus einem eingabefeld UpdateData(FALSE);
1. frage
ich möchte erstmal das "system" nicht benutzen (dann poppt ja konsolenfenster auf). gibt es eine möglichkeit das mit WinExec(...) bzw mit einem anderen Befehl zu machen ohne das die console aufgeht??2. frage
so lange der system befehl ausgeführt wird, hängt erstmal die anwendung. wie ertelle ich meinetwegen einen dialog der nur so lange aufbleibt wie der befehl system befehl aktiv ist???danke für jede antwort
-
zur 2ten frage noch was hinzu:
--> der dialog hat den sinn so eine art "bitte warten" dialog auszuführen
--> danke für jede antwort
-
Bei CreateProcess gibt es ein Flag, was das DOS-Fenster verstecken soll - aber ich bin mir gerade nicht sicher ob es auch funktioniert hatte.
Das hier ist was, womit ich ein DOS-Programm starte und es nach 5 Sekunden kille - das hängt so gerne ohne Grund.
char strCmd[] = "tracert www.lala.de > ipconfig.txt"; PROCESS_INFORMATION pi = {0}; STARTUPINFO si = {sizeof(si)}; // si.wShowWindow = SW_HIDE; BOOL fReturn = CreateProcess(NULL, strCmd, NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi); if (WAIT_TIMEOUT == WaitForSingleObject(pi.hProcess, 5000)) //INFINITE { TerminateProcess(pi.hProcess, 0); } CloseHandle(pi.hProcess); CloseHandle(pi.hThread);
Vielleicht kannst du das ja für deine Zwecke anpassen. Das Kommando hab ich schon mal eingebaut.
Was du mit der zweiten Frage meinst habe ich leider nicht ganz verstanden. Mach doch einfach den Dialog zu, wenn der Befehl fertig ist.
Oder du musst einen Thread machen.Achja, mit
CWaitCursor csr;
erscheint für den Rest der Funktion die Sanduhr. Damit der User geduldig wartet ist das recht nützlich.
-
danke für die schnelle antwort, genau so habe ich mir das vorgestellt.
DANKE DANKE DANKE !!!