• C#网络编程之进程管理


      这里是视频讲解地址:

      这里是代码:

      

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Net;
      5 using System.IO;
      6 using System.Text;
      7 using System.Threading.Tasks;
      8 using System.Windows;
      9 using System.Windows.Controls;
     10 using System.Windows.Data;
     11 using System.Windows.Documents;
     12 using System.Windows.Input;
     13 using System.Windows.Media;
     14 using System.Windows.Media.Imaging;
     15 using System.Windows.Navigation;
     16 using System.Windows.Shapes;
     17 using System.Diagnostics;
     18 
     19 namespace 我是蜀云泉
     20 {
     21     /// <summary>
     22     /// MainWindow.xaml 的交互逻辑
     23     /// </summary>
     24     public partial class MainWindow : Window
     25     {
     26         public MainWindow()
     27         {
     28             InitializeComponent();
     29         }
     30 
     31         int FileIndex = 1;
     32         string FileName = "Notepad";
     33         List<Data> list = new List<Data>();
     34         List<int> IndexList = new List<int>();
     35 
     36         private void Button_Click_1(object sender, RoutedEventArgs e)
     37         {
     38             string Path = Environment.CurrentDirectory + "//myfile" + (FileIndex++) + ".txt";
     39             if (File.Exists(Path)==false)
     40             {
     41                 File.CreateText(Path);
     42             }
     43             IndexList.Add(FileIndex);
     44 
     45             Process p = new Process();
     46             p.StartInfo.FileName = FileName;
     47             p.StartInfo.Arguments = Path;
     48             p.Start();
     49 
     50             Refresh();
     51         }
     52 
     53 
     54         public void Refresh()
     55         {
     56             datagrid1.ItemsSource = null;
     57             list.Clear();
     58             Process[] processes = Process.GetProcessesByName(FileName);
     59             foreach (var item in processes)
     60             {
     61                 try
     62                 {
     63                     list.Add(new Data (){ 
     64                     Id=item.Id,
     65                     ProcessName=item.ProcessName,
     66                     Memory=string.Format("{0}KB",item.WorkingSet64/1024d),
     67                     Time = item.StartTime.ToString("yyyy-M-d HH:mm:ss"),
     68                     FileNamePath = item.MainModule.FileName
     69                     });
     70                     
     71                 }
     72                 catch 
     73                 {
     74                     break;
     75                 }
     76             }
     77             datagrid1.ItemsSource = list;
     78 
     79         }
     80 
     81 
     82         private void Button_Click_2(object sender, RoutedEventArgs e)
     83         {
     84             Process[] processes = Process.GetProcessesByName(FileName);
     85             foreach (var item in processes)
     86             {
     87                 item.CloseMainWindow();
     88                 item.WaitForExit();
     89             }
     90             FileIndex = 1;
     91 
     92             Refresh();
     93             
     94         } 
     95 
     96         public  class Data
     97         {
     98             public int Id{get;set;}
     99             public string ProcessName { get; set; }
    100             public string Memory { get; set; }
    101             public string Time { get; set; }
    102             public string FileNamePath { get; set; }
    103         }
    104 
    105        
    106         
    107     }
    108 }
  • 相关阅读:
    leetcode 390. 消除游戏
    C12Test5 record
    IELTS Writing Task 1: two-chart answer
    rails work
    java 依赖注入
    Java1.7已经舍弃substr了
    在存储过程创建临时表,插入字段,更新字段
    在存储过程里创建临时表,往表中直接插入数据
    存储过程里分页的例子
    验证方法、自己写一个日期控件、
  • 原文地址:https://www.cnblogs.com/yunquan/p/5616767.html
Copyright © 2020-2023  润新知