//Code App_ using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace App_ { public partial class Form1 : Form { List filesAdded = new List(); FileSystemWatcher Guarding = new FileSystemWatcher(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false; listView1.RetrieveVirtualItem += new RetrieveVirtualItemEventHandler(listView1_RetrieveVirtualItem); listView1.VirtualMode = true; listView1.View = View.Details; listView1.GridLines = true; listView1.Columns.Add("Filename", 600); string sOri = @"C:\"; Guarding.Path = sOri; Guarding.IncludeSubdirectories = true; Guarding.Created += new FileSystemEventHandler(OnCreated); Guarding.EnableRaisingEvents = true; } void OnCreated(object source, FileSystemEventArgs e) { filesAdded.Add(e.FullPath); listView1.VirtualListSize = filesAdded.Count(); } void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e) { var item = new ListViewItem(); if (filesAdded.Count > 0) { item.Text = filesAdded[e.ItemIndex]; } e.Item = item; } } } ========================================================== //Code Main_ using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Main_ { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { Main_.StartStop_.Start(@"C:\Users\family\Desktop\App_.exe"); } private void button2_Click(object sender, EventArgs e) { Main_.StartStop_.Stop(); } } } //Class StartStop_ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Main_ { class StartStop_ { public static Process Start(string procname) { Process Prog_ = new Process(); Prog_.StartInfo.FileName = procname; Prog_.Start(); return Prog_; } public static void Stop(Process Prog_) { //Prog_.Kill(); int IDstring = System.Convert.ToInt32(Prog_.Id.ToString()); Process tempProc = Process.GetProcessById(IDstring); tempProc.CloseMainWindow(); tempProc.WaitForExit(); } } }