zoukankan      html  css  js  c++  java
  • [WPF]测试Windowns服务开启和关闭程序

    代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Input;

    using System.ServiceProcess;
    using System.Windows.Threading;
    namespace WpfApplication1
    {
        
    /// <summary>
        
    /// MainWindow.xaml 的交互逻辑
        
    /// </summary>
        public partial class MainWindow : Window
        {
            
    public MainWindow()
            {
                InitializeComponent();
                
    this.Loaded += new RoutedEventHandler(MainWindow_Loaded);
            }

            
    void MainWindow_Loaded(object sender, RoutedEventArgs e)
            {
                DataBind();
            }

            
    void DataBind()
            {
                
    foreach (var ary in ServiceController.GetServices())
                {
                    lbListBox.Items.Add(ary.ServiceName);
                }
            }
            
    //开启服务
            private void button1_Click(object sender, RoutedEventArgs e)
            {
                
    string name = lbListBox.SelectedItem.ToString();
                ServiceController sc 
    = new ServiceController(name);
                
    if (sc.Status == ServiceControllerStatus.Running)
                {
                    MessageBox.Show(
    "服务已处于开启状态");
                }
                
    else
                {
                    sc.Start();
                }
                DataBind();
                TimeThread();
            }
            
    //停止服务
            private void button2_Click(object sender, RoutedEventArgs e)
            {
                
    string name = lbListBox.SelectedItem.ToString();
                ServiceController sc 
    = new ServiceController(name);
                
    if (sc.Status == ServiceControllerStatus.Stopped)
                {
                    MessageBox.Show(
    "服务已处于停止状态");
                }
                
    else
                {
                    sc.Stop();
                }
                DataBind();
                TimeThread();
            }

            
    void TimeThread()
            {
                DispatcherTimer _timer 
    = new DispatcherTimer();
                _timer.Interval 
    = new TimeSpan(00001000 / 24);
                _timer.Tick 
    += new EventHandler(_timer_Tick);
                _timer.Start();
            }

            
    void _timer_Tick(object sender, EventArgs e)
            {
                BindLabel();
            }

            
    private void lbListBox_MouseUp(object sender, MouseButtonEventArgs e)
            {
                BindLabel();
            }

            
    void BindLabel()
            {
                
    string name = lbListBox.SelectedItem.ToString();
                ServiceController sc 
    = new ServiceController(name);
                label1.Content 
    = "服务名称:" + sc.DisplayName;
                label2.Content 
    = "服务类型:" + sc.ServiceType;
                label3.Content 
    = "服务状态:" + sc.Status;
            }
        }
    }

     Demo:/Files/leeolevis/WPF/WpfApplication1.zip

  • 相关阅读:
    JZOJ Contest2633 总结
    6813. 【2020.10.05提高组模拟】送信
    HDU 1506 最大子矩形
    2020.10.07【NOIP提高A组】模拟 总结
    6815. 【2020.10.06提高组模拟】树的重心
    2020.10.06【NOIP提高A组】模拟 总结
    2020.10.05【NOIP提高A组】模拟 总结
    gmoj 3976. 【NOI2015模拟1.17】⑨
    2020.09.26【省选组】模拟 总结
    2020.09.19【省选组】模拟 总结
  • 原文地址:https://www.cnblogs.com/leeolevis/p/1777658.html
Copyright © 2011-2022 走看看