Ich brauche ein hintergrund-Programm C++
Erstellt habe ich dieses Programm:
//Includes....
int main()
{
ifstream readfile("File.txt");
string str;
while(1)
{
getline(readfile,str);
system("cls");
Sleep(10000);
}
}
Es ist nur ein Programm, liest alle 10 Sekunden eine Zeile aus der Datei "File.txt"
Möchte ich es auf den hintergrund,wie kann ich das tun?
- was meinst du mit "arbeiten im hintergrund"? Wenn es läuft mit der Konsole I/O, kann es nicht auch sein, im hintergrund (in der Unix-job-Kontrolle-Sinn).
- Bitte etwas konkreter, wo Sie wollen, um es als hintergrund-Prozess. Ist es linux, windows, etc.?
- Ich denke, Windows, mit, dass der Aufruf von system("cls"), aber immer noch keine-die-klüger, was die Frage bedeutet.
- Ich sehe, Sie haben versucht, make-console-program-to-dissapear-and-work-in-background Ist das die gleiche Frage umformuliert?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn dies UNIX führen Sie das Programm aus der shell mit einem kaufmännischen und-Zeichen "&" hinter dem Programm-Namen.
Diesem Beispiel verstecken Konsole windows für Sie :
Plattform abhängig. Aber ich glaube, Sie sind mit windows, weil der Befehl "cls".
Warum kann Sie nur starten Sie eine neue Eingabeaufforderung, und führen Sie die richtige .exe-Datei. Dann einfach minimieren Sie das Programm und tun, was Sie tun sollen. Wenn Sie wollen, automatisieren Sie den Start-phase (wie cron in linux/unix) verwenden Sie den eingebauten scheduler für windows.
Wenn Sie ein (non-service) - Programm, das nicht in einer Konsole-Fenster oder einem anderen windows an, ändern Sie die main() hinzu winmain(). Den Zugriff auf Kommandozeilen-Argumente ist ein wenig komplizierter aber.
Tut mir Leid, aber ich bin mir nicht sicher, ich weiß was du meinst... soweit ich weiß (bitte korrigiert mich wenn ich falsch Liege) es gibt keine Möglichkeit zum ausführen eines einfachen C (++) - Programm ohne Konsole-Fenster. Allerdings, wenn Sie wollen es auf "sleep" in einer Weise verwendet, in der Nähe keine Ressourcen, dann kann erreicht werden, durch überprüfen der aktuellen Zeit und compering es mit der Zeit, wenn Sie vollendet Ihren letzten Lesen.
Sleep-Funktion in der Regel mehr Ressourcen verwendet als dieser, aber es funktioniert genauso gut, also wenn die resource cap ist nicht sehr sehr wichtig, dann tut es genauso gut.
Hoffe, dass dies geholfen.
Wenn Sie starten das Programm aus einer Dos-Konsole, können Sie den Befehl verwenden
start \B myprogram.exe
, das ist mehr oder weniger äquivalent zu den unix-kaufmännisches und-Zeichen. Allerdings werden Sie benötigen, um die Konsole offen zu halten das Programm läuft.Andere Lösung konvertieren Sie Ihre Anwendung in einem windows-Dienst, aber dann müssen Sie neu zu schreiben (oder wrap) Ihre Anwendung.
Wenn Sie dies wollen, weil Sie die Protokollierung eine Art von Ausgabe und wollen, um die änderungen, die Sie könnte einfach mit einem editor wie TextPad, was automatisch die Datei neu geladen wird, wenn Sie sich ändert.
Allerdings hast du nicht angegeben, warum wollen Sie das so kann dies nicht angemessen in Ihrem Fall.
Dem richtigen Weg ist, um einen Windows-Dienst, es gibt genug Informationen über Google auf, wie dies zu tun.