C# windows service program bezárásának figyelése
2011-07-28T11:12:09+02:00
2011-07-28T12:44:47+02:00
2022-07-19T04:28:16+02:00
  • Nem lehet, hogy bizonyos időnként lekéred a Process-listát és ha eltűnt onnan a program, akkor az biza befejezte a működését? Vagy rögtön kellene tudnod, hogy befejeződött a program?

    Írtam egy gyors példaprogit, ha ráiratkozol az Exited event-jére a kívánt proginak, akkor figyelheted hogy fut-e még (ha lefuttatod a progit, indítsd el előtte a notepad.exe-t, mert azt figyeli. Ha majd bezárod, akkor kiírja hogy kilépett és kilép ez a program is):

    using System; using System.Diagnostics; using System.ComponentModel; using System.Threading; class ProcessClass { public static void Main(string[] args) { ProcessClass aProcessClass = new ProcessClass(); aProcessClass.abcd(); } void aProcess_Exited(object sender, EventArgs e) { Console.WriteLine("Kilépett"); } void abcd() { try { Process[] aProcesses = Process.GetProcessesByName("notepad"); Process aProcess = aProcesses[0]; aProcess.EnableRaisingEvents = true; aProcess.Exited += new EventHandler(aProcess_Exited); aProcess.WaitForExit(); } catch (Exception) { Console.WriteLine("HIBA"); return; } } }
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Készítettem egy szolgáltatást (service) c#-ban.
    Melyet XP alatt használok.

    Viszont a következő problémát nem tudom megoldani:

    -A szolgáltatásnak figyelni kellene, ha egy adott programot bezár a felhasználó.

    Segítségeteket előre is köszönöm!
    Mutasd a teljes hozzászólást!
abcd