Пример #1
0
        static PushServicesInfo ProcessData(ManagementObject srv, bool IsDriver)
        {
            PushServicesInfo i = new PushServicesInfo();

            i.Description             = Convert.ToString(srv["Description"]);
            i.DisplayName             = Convert.ToString(srv["DisplayName"]);
            i.Name                    = Convert.ToString(srv["Name"]);
            i.ServiceType             = Convert.ToString(srv["ServiceType"]);
            i.PathName                = Convert.ToString(srv["PathName"]);
            i.StartMode               = Convert.ToString(srv["StartMode"]);
            i.State                   = Convert.ToString(srv["State"]);
            i.StartName               = Convert.ToString(srv["StartName"]);
            i.Started                 = Convert.ToBoolean(srv["Started"]);
            i.DesktopInteract         = Convert.ToBoolean(srv["DesktopInteract"]);
            i.AcceptPause             = Convert.ToBoolean(srv["AcceptPause"]);
            i.AcceptStop              = Convert.ToBoolean(srv["AcceptStop"]);
            i.ServiceSpecificExitCode = Convert.ToInt64(srv["ServiceSpecificExitCode"]);
            i.ExitCode                = Convert.ToInt64(srv["ExitCode"]);
            i.ErrorControl            = Convert.ToString(srv["ErrorControl"]);

            if (IsDriver == false)
            {
                i.DelayedAutoStart = Convert.ToBoolean(srv["DelayedAutoStart"]);
                i.ProcessId        = Convert.ToInt64(srv["ProcessId"]);
            }
            else
            {
                i.DelayedAutoStart = false;
                i.ProcessId        = 0;
            }
            return(i);
        }
Пример #2
0
        private void lstServices_SelectedIndexChanged(object sender, EventArgs e)
        {
            cmdPause.Enabled = cmdStart.Enabled = cmdStop.Enabled = false;

            if (lstServices.SelectedItems.Count == 0)
            {
                cmdPause.Enabled = cmdStart.Enabled = cmdStop.Enabled = false;
                SelectedService  = null;
            }
            else
            {
                PushServicesInfo srv = (PushServicesInfo)lstServices.SelectedItems[0].Tag;
                SelectedService = srv;
                switch (srv.State.ToLower())
                {
                case "stopped":
                    cmdStart.Enabled = true;
                    break;

                case "start pending":
                case "stop pending":
                case "continue pending":
                case "pause pending":
                    break;

                case "paused":
                    if (srv.AcceptStop == true)
                    {
                        cmdStop.Enabled = true;
                    }
                    if (srv.AcceptPause == true)
                    {
                        cmdPause.Enabled = true;
                    }
                    break;

                case "running":
                    if (srv.AcceptStop == true)
                    {
                        cmdStop.Enabled = true;
                    }
                    if (srv.AcceptPause == true)
                    {
                        cmdPause.Enabled = true;
                    }
                    break;

                case "unknown":
                    cmdPause.Enabled = cmdStart.Enabled = cmdStop.Enabled = true;
                    break;
                }
            }
        }