zoukankan      html  css  js  c++  java
  • 进程管理

      C#进程管理

      

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Windows;
     6 using System.Windows.Controls;
     7 using System.Windows.Data;
     8 using System.Windows.Documents;
     9 using System.Windows.Input;
    10 using System.Windows.Media;
    11 using System.Windows.Media.Imaging;
    12 using System.Windows.Navigation;
    13 using System.Windows.Shapes;
    14 using System.IO;
    15 using System.Diagnostics;
    16 
    17 namespace jincheng
    18 {
    19     /// <summary>
    20     /// MainWindow.xaml 的交互逻辑
    21     /// </summary>
    22     public partial class MainWindow : Window
    23     {
    24         public MainWindow()
    25         {
    26             InitializeComponent();
    27         }
    28         public int i = 1;
    29         public string filename = "Notepad";
    30         List<Data> list = new List<Data>();
    31         private void button1_Click(object sender, RoutedEventArgs e)
    32         {
    33             string path = Environment.CurrentDirectory + "\myfile" + (i++) + ".txt";
    34             if (File.Exists(path ) == false)
    35             {
    36                 File.CreateText(path);
    37             }
    38             Process p = new Process();
    39             p.StartInfo.FileName = filename;
    40             p.StartInfo.Arguments = path;
    41             p.Start();
    42             Refresh();
    43         }
    44         public void Refresh()
    45         {
    46             dataGrid1.ItemsSource = null;
    47             list.Clear();
    48             Process[] ps = Process.GetProcessesByName(filename);
    49             foreach (var item in ps)
    50             {
    51                 try
    52                 {
    53                     list.Add(new Data()
    54                     {
    55 
    56                         Id = item.Id,
    57                         ProcessName = item.ProcessName,
    58                         TotalMemory = string.Format("{0}KB", item.WorkingSet64 / 1024d),
    59                         StartTime = item.StartTime.ToString("yyyy-M-d HH:mm:ss"),
    60                         FileName = item.MainModule.FileName
    61 
    62                     });
    63                 }
    64                 catch
    65                 {
    66                     break;
    67                 }
    68             }
    69             dataGrid1.ItemsSource = list;
    70  
    71         }
    72         public class  Data
    73         {
    74             public int Id {get;set;}
    75             public string ProcessName { get; set; }
    76             public string TotalMemory { get; set; }
    77             public string StartTime { get; set; }
    78             public string FileName { get; set; }
    79         }
    80 
    81         private void button2_Click(object sender, RoutedEventArgs e)
    82         {
    83             Process[] pss = Process.GetProcessesByName(filename);
    84                 foreach (var item in pss)
    85                 {
    86                     item .CloseMainWindow ();
    87                     item .WaitForExit ();
    88 
    89                 }
    90             i++;
    91             Refresh ();
    92 
    93         }
    94     }
    95 }
  • 相关阅读:
    指针常量 和 常量指针
    串口通讯
    C语言的抽象与函数指针2
    STM32 中常见错误 的处理方法
    串行通信之狂扯篇
    VMware中虚拟机网卡的四种模式
    VSFTP配置虚拟用户
    MySQL数据库备份命令
    rsync Linux系统下的数据镜像备份工具
    linux常用命令
  • 原文地址:https://www.cnblogs.com/yunquan/p/5618577.html
Copyright © 2011-2022 走看看