以前關閉進程的方式,通常採用bat文件的方式。現在通過採用另外一種方式關閉進程。
關閉進程主要思路:遍歷所有進程,根據進程名稱,找出需要關閉的進程。
開啓進程主要思路:通過遞歸的方式找出文件夾中所有的exe文件,並且開啓。
其主要代碼如下:
1 #region 方法
2 ///
<summary>
3 /// 關閉應用程序
4 ///
</summary>
5 ///
<param name="ArrayProcessName">應用程序名之間用‘,’分開</param>
6 private
void CloseApp(string ArrayProcessName)
7 {
8 string[] processName = ArrayProcessName.Split(',');
9 foreach (string appName
in processName)
10 {
11 Process[] localByNameApp = Process.GetProcessesByName(appName);//獲取程序名的所有進程
12 if (localByNameApp.Length >
0)
13 {
14 foreach (var app
in localByNameApp)
15 {
16 if (!app.HasExited)
17 {
18 app.Kill();//關閉進程
19 }
20 }
21 }
22 }
23 }
24
25 ///
<summary>
26 /// 開啓進程
27 ///
</summary>
28 ///
<param name="ArrayFolderPath">需要開啓進程文件夾的路徑,多個路徑用‘,’隔開;eg:d:\test,e:\temp</param>
29 private
void StartApp(string ArrayFolderPath)
30 {
31 string[] foldersNamePath = ArrayFolderPath.Split(',');
32 foreach (string folderNamePath
in foldersNamePath)
33 {
34 GetFolderApp(folderNamePath);
35 }
36 }
37
38 ///
<summary>
39 /// 遞歸遍歷文件夾內所有的exe文件,此方法可以進一步擴展爲其它的後綴文件
40 ///
</summary>
41 ///
<param name="folderNamePath">文件夾路徑</param>
42 private
void GetFolderApp(string folderNamePath)
43 {
44 string[] foldersPath = Directory.GetDirectories(folderNamePath);
45 foreach (string folderPath
in foldersPath)
46 {
47 GetFolderApp(folderPath);
48 }
49
50 string[] filesPath = Directory.GetFiles(folderNamePath);
51 foreach (string filePath
in filesPath)
52 {
53 FileInfo fileInfo =
new FileInfo(filePath);
54
55 //開啓後綴爲exe的文件
56 if (fileInfo.Extension.Equals(".exe"))
57 {
58 Process.Start(filePath);
59 }
60 }
61
62 }
63 #endregion
winform的界面如下: