尝试在单个按钮单击中完成多个操作

时间:2017-06-15 23:49:39

标签: c# wpf visual-studio

我一直在使用Stackoverflow构建这个应用程序,一切都很顺利,感谢所有有用的帖子。

ErrorFixClick是我遇到的一个按钮。我想在单击按钮中放置多个操作。

这是我拼凑在一起的代码。这是漂亮的代码,没有。当然可以写得好多了!它有用吗?当作为单个按钮事件运行时会有某些事情发生,但结合它并不起作用。

我在十年内没有参加过C#课程,我可以使用一些帮助。我已经为每个操作的代码添加了一些注释,以使其更容易理解

提前致谢。

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.ServiceProcess;
using System.IO;

namespace SuperDupperDesktopApp
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();


    }

    private void StartME_Click(object sender, RoutedEventArgs e)
    {
        Process.Start("C:\\Program Files\\OSE\\StartME.exe");
    }
    private void Reboot_Click(object sender, RoutedEventArgs e)
    {
        Process.Start("shutdown.exe", "-r -t 05 -f");
    }
    private void Info_Click(object sender, RoutedEventArgs e)
    {
        string hostname = System.Environment.MachineName;

        MessageBox.Show(Environment.OSVersion.ToString());
        MessageBox.Show(hostname);

    }


    private void ErrorFix_Click(object sender, RoutedEventArgs e) // <-- This is broken.
    {

        /// Stop a service
        Process cmd = new Process();
        cmd.StartInfo.FileName = @"cmd.exe";
        cmd.StartInfo.Arguments = @"/c SC STOP COMSVCS"; 
        cmd.Start();
        cmd.WaitForExit();

        ///Delete a file
        if (File.Exists(@"C:\op\cp.dat"))
        {
            File.Delete(@"C:\op\cp.dat");
        }

        /// Kill the App
        foreach (var process in Process.GetProcessesByName("StartME"))
        {
            process.Kill();
        }

        /// Reboot the PC
        Process.Start("shutdown.exe", "-r -t 01 -f");

    }
}

1 个答案:

答案 0 :(得分:1)

我建议您停止服务停止以使用库函数,而不是启动另一个进程:

Start stop Service from Form App c#