示例#1
0
        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;
            }
        }
示例#2
0
        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);
            }
        }