private void SetButtonStatus() { var rep = c.Send("serviceStatus"); WindowsCommon.IPC.Status m = JsonConvert.DeserializeObject <WindowsCommon.IPC.Status>(rep); if (m.ServiceRunning) { ButtonStop.Enabled = true; ButtonStart.Enabled = false; } else { ButtonStop.Enabled = false; ButtonStart.Enabled = true; } }
static void Main(string[] args) { var p = new ScreenCaptureService(); var s = new IpcServer(); s.Start(12345); // Passing no port selects a free port automatically. s.ReceivedRequest += (sender, argss) => { Console.WriteLine("Got: " + argss.Request); if (argss.Request == "serviceStart") { p.OnStart(); argss.Response = "1"; } if (argss.Request == "serviceStatus") { WindowsCommon.IPC.Status status = new WindowsCommon.IPC.Status(); status.ServiceRunning = p.IsRunning(); argss.Response = JsonConvert.SerializeObject(status); } if (argss.Request == "serviceStop") { p.OnStop(); argss.Response = "1"; } argss.Handled = true; }; p.OnStart(); while (true) { System.Threading.Thread.Sleep(1000); } }