首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从C# (Windows Services)跟踪和停止cmd中运行的应用程序

从C# (Windows Services)跟踪和停止cmd中运行的应用程序,可以通过以下步骤实现:

  1. 使用C#编写一个Windows服务程序,可以通过System.Diagnostics命名空间中的Process类来执行cmd命令,并获取cmd命令的输出结果。
  2. 在Windows服务程序中,使用Process类的Start方法启动cmd.exe,并传入要执行的应用程序路径和参数。
  3. 使用Process类的StandardOutput属性获取cmd命令的输出结果,可以通过读取StandardOutput的流来获取应用程序的输出信息。
  4. 如果需要跟踪应用程序的运行状态,可以使用Process类的Exited事件来监听应用程序的退出事件,并进行相应的处理。
  5. 如果需要停止正在运行的应用程序,可以使用Process类的Kill方法来终止应用程序的运行。

下面是一个示例代码:

代码语言:txt
复制
using System;
using System.Diagnostics;

namespace WindowsServiceExample
{
    public class MyService
    {
        private Process cmdProcess;

        public void Start()
        {
            cmdProcess = new Process();
            cmdProcess.StartInfo.FileName = "cmd.exe";
            cmdProcess.StartInfo.Arguments = "/C <your_application_path> <your_application_arguments>";
            cmdProcess.StartInfo.UseShellExecute = false;
            cmdProcess.StartInfo.RedirectStandardOutput = true;
            cmdProcess.OutputDataReceived += CmdOutputDataReceived;
            cmdProcess.EnableRaisingEvents = true;
            cmdProcess.Exited += CmdExited;

            cmdProcess.Start();
            cmdProcess.BeginOutputReadLine();
        }

        private void CmdOutputDataReceived(object sender, DataReceivedEventArgs e)
        {
            // 处理cmd命令的输出结果
            if (!string.IsNullOrEmpty(e.Data))
            {
                Console.WriteLine(e.Data);
            }
        }

        private void CmdExited(object sender, EventArgs e)
        {
            // 处理应用程序退出事件
            // 可以在这里进行一些清理操作
        }

        public void Stop()
        {
            if (cmdProcess != null && !cmdProcess.HasExited)
            {
                cmdProcess.Kill();
                cmdProcess.Dispose();
            }
        }
    }
}

在上述示例代码中,<your_application_path>是要执行的应用程序的路径,<your_application_arguments>是应用程序的参数。你可以根据实际情况修改这两个值。

这个示例代码演示了如何通过C#的Windows服务程序来跟踪和停止cmd中运行的应用程序。你可以根据自己的需求进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

1分51秒

Ranorex Studio简介

领券