Programm im Hintergrund C#

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Typischerweise sind das Anwendungsfälle für eine Windows Service Application. (Bei Google gibt's Beispiele im Millionen-Pack.)

Du kannst aber auch eine Konsolenanwendung schreiben, das Fensterhandle greifen und die Anwendung wahlweise auf den Taskbar oder in den Tray minimieren; von wo es dann wieder aufrufbar wird. (Konsolenanwendungen selbst lassen sich nicht "verstecken".)

Die dritte Möglichkeit nennt FaronWeissAlles bereits, auch wenn ich es um saubererer OO willen ein bisschen variieren würde: Ganz normal starten und gleich in den Tray packen (s. NotifyIcon - Google-Suche!). Dann kannst du bequem per Kontext-Menü alle möglichen Aktionen realisieren, beispielsweise auch die Anzeige des Fensters bei Bedarf; oder eben der Start einer Windows-Konsole bzw. einer Konsolen-Anwendung.

Erstelle ein neues Windows Forms Projekt. In der Projektmappe gibts eine Datei die heißt Program.cs. Deren Inhalt sieht etwa so aus:

        /// <summary>
        /// Der Haupteinstiegspunkt für die Anwendung.
        /// </summary>
        [STAThread]
        static void Main ()
        {
            Application.EnableVisualStyles ();
            Application.SetCompatibleTextRenderingDefault (false);
            Application.Run (new Form1 ());
        }

Nimm die letzte Zeile raus und es wird kein Fenster kommen. Erst wenn du

Application.Run (new Form1 ());

sagst wird das Form erzeugt und ist für den User sichtbar