Wie kann ein Windows-Dienst, der einen Prozess startet, wenn ein Timer-Ereignis ausgelöst wird?

Habe ich einen Windows-Dienst mit Timer und in-firing-event der timer.Elapsed ich bin erstellen eines Prozesses (System.Diagnostics.Process.Start(exe path)) im Intervall von 5 Sekunden. Aber dieser Prozess nicht erstellt werden, auf das feuern eines Ereignisses.

Gibt es eine andere Möglichkeit, dies zu tun?

Vielen Dank im Voraus.

private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{       

    Process pr = new Process();
    pr.StartInfo.FileName = @"C:\Program Files\Messenger\msmsgs.exe";
    pr.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
    pr.StartInfo.CreateNoWindow = false;
    pr.Start();
}
  • Oder wird Sie erstellt und dann sofort verlassen? Wenn Sie einfügen können den code hier, es wäre hilfreich
  • Windows-Dienste sind nicht geeignet, um interaktive Anwendungen. Sie können die Ausführung eines Prozesses, sondern immer ein neues Fenster zu öffnen, ist eine heikle Angelegenheit. Nicht zu erwähnen, alle Sicherheit Probleme, die Sie ausführen, in Ihrem Versuch, dies zu tun. Die Chancen sind, müssen Sie überdenken Ihren Entwurf und verwenden Sie etwas anderes als ein Windows-Dienst, vor allem, wenn Ihr Ziel-Benutzer unter Windows Vista oder später in Anbetracht seiner verschärfte Sicherheit Modell für Dienstleistungen.
  • Auch finden Sie mögliche Duplikate von hier: stackoverflow.com/questions/677874/... (die Diskussion, wie Sie können, heben den service auf unter anderen Anmeldeinformationen ausführen und/oder im interaktiven Modus (Hinweis: dies ist nicht unterstützt unter Vista oder höher)).
  • vielen Dank Cody, u Kann mir sagen, was getan werden kann, zu führen .exe-Datei aus dem timer-Ereignis??
  • Die Idee ist, Sie kann nicht... ich weiß nicht, was unklar war zu meiner früheren Erklärung.
  • Haben Sie versucht, um den service der interaktiven? Auch überprüfen Sie mit dem task-manager, ob der Prozess wird gestartet aber nicht angezeigt. msdn.microsoft.com/library/default.asp?url=/library/en-us/...
  • im task-manager, Prozess läuft, aber es ist nicht eröffnet.
  • Dieser arbeitete im Juni 2019 in Visual Studio mit ein .NET 4.7.2 Anwendung: code.msdn.microsoft.com/windowsapps/...

InformationsquelleAutor Sahil Verma | 2010-12-23
Schreibe einen Kommentar