zoukankan      html  css  js  c++  java
  • 监听程序

    //运行监听程序
    ThreadPool.QueueUserWorkItem((x) =>
    {
    try
    {
    bool sqd = true;
    Process[] SERVER = Process.GetProcessesByName("MonitorServer");   //获取线程名相同
    foreach (Process item in SERVER)
    {
    if (Path.GetDirectoryName(item.MainModule.FileName).Equals(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location.Replace("/", "\"))))
    {
    sqd = false;
    break;
    }
    }
    if (sqd)
    {
    ProcessStartInfo ps = new ProcessStartInfo("MonitorServer.exe");
    ps.UseShellExecute = false;
    ps.WindowStyle = ProcessWindowStyle.Hidden;   //隐藏线程
    Process.Start(ps);
    }
    }
    catch { }
    }, new object());

    关闭窗体   同时关闭监听程序

    private void ServerAuto_FormClosing(object sender, FormClosingEventArgs e)
    {
    try
    {
    if (e.CloseReason == CloseReason.WindowsShutDown || e.CloseReason == CloseReason.UserClosing)
    {
    Application.ExitThread();
    Application.Exit();
    //Process.GetProcessesByName("MonitorServer")[0].Kill();
    Process[] SERVER = Process.GetProcessesByName("MonitorServer");
    foreach (Process item in SERVER)
    {
    if (Path.GetDirectoryName(item.MainModule.FileName).Equals(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location.Replace("/", "\"))))
    {
    item.Kill();
    }
    }
    Process[] CLIENT = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
    foreach (Process item in CLIENT)
    {
    if (Path.GetDirectoryName(item.MainModule.FileName).Equals(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location.Replace("/", "\"))))
    {
    item.Kill();
    }
    }
    }
    }
    catch { }
    }

  • 相关阅读:
    HBase 文件读写过程描述
    Kafka 部署指南-好久没有更新博客了
    《Python高性能编程》——列表、元组、集合、字典特性及创建过程
    Ansible常用功能
    vim内替换文件内容
    线程队列-queue
    Python多进程
    python多线程知识-实用实例
    夜间模式的实现
    本地通知的实现
  • 原文地址:https://www.cnblogs.com/yyl001/p/10281856.html
Copyright © 2011-2022 走看看