Wenn Sie einen absoluten Zustand der Inaktivität erzwingen wollen, könnten Sie die Funktion "sleep" verwenden. Allerdings bin ich mir nicht sicher, wie es sich bei einem Neustart verhalten würde. (Ich vermute, Windows würde die Anwendung als nicht ansprechbar melden).
Wenn die Anwendung kein Hauptformular hat und nur in der Taskleiste liegt (oder völlig unsichtbar ist), wird sie nicht viel bewirken. Die Hauptnachrichtenschleife verarbeitet alle Nachrichten, die sie vom Betriebssystem erhält, aber sie sollte nicht viele erhalten. Und die wenigen Nachrichten, die sie erhält, sollte sie verarbeiten (Shutdown-Nachrichten, Benachrichtigung über die Änderung von Systemparametern, usw.)
Ich denke also, dass man einfach einen Timer einrichten und den Code vergessen kann, der das Programm zwingt, im Leerlauf zu bleiben.
Wenn Sie die Prozessaktivität wirklich auf ein Maximum beschränken wollen, können Sie die Thread-Priorität beim Eintritt in das Ereignis des Zeitgebers bzw. beim Verlassen des Ereignisses festlegen. Sie würden also die Priorität auf "normal" setzen, wenn Sie das Ereignis betreten, und sie auf "niedrig" setzen, wenn Sie es verlassen.
0 Stimmen
Wie kann man den Speicher freigeben/freigeben?
1 Stimmen
Solange Sie kein Speicherleck haben, brauchen Sie sich um den Speicher keine Sorgen zu machen. Wenn Sie ein Speicherleck haben, beheben Sie es. SysInternals ist hier Ihr Freund.
0 Stimmen
Ihre Anwendung laufen zu lassen ist bereits eine Verschwendung von CPU und Zeit, verwenden Sie den Windows Scheduler, wie der Typ unten vorschlägt!