----------------------使用方式-------------------------------------------
OpenPress("AAA.exe", " ");//開啟外部檔案ClosePress("AAA.exe");//關閉外部檔案
----------------------以下為函式-------------------------------------------
public static bool OpenPress(string FileName, string Arguments)//開啟外部檔案 { Process pro = new Process(); if(System.IO.File.Exists(FileName)) { pro.StartInfo.FileName = FileName; pro.StartInfo.Arguments = Arguments; pro.StartInfo.CreateNoWindow = true; pro.StartInfo.CreateNoWindow = true; pro.StartInfo.UseShellExecute = false; pro.StartInfo.RedirectStandardInput = true; pro.StartInfo.RedirectStandardOutput = true; pro.StartInfo.CreateNoWindow = true; pro.Start();
return true; } return false; }
public static bool ClosePress(string FileName)//關閉外部檔案 { Process[] proa = Process.GetProcesses();//獲取任務管理器中所有進程 foreach(Process p1 in proa) { try { string processName = p1.ProcessName.ToLower().Trim(); if(processName == FileName) { p1.WaitForExit(1000); p1.Kill(); p1.CloseMainWindow(); } } catch { return false; } } return true; }----------分隔線 說明--------------------
1.前言
透過程式控制,可在背景執行cmd.exe的命令。2.說明
程式碼,提供兩種方式執行命令://程式碼最少,但是會跳出DOS視窗,閃一下後自行關閉 System.Diagnostics.Process.Start("cmd.exe", @"/c dir"); //在背景執行,無DOS視窗閃爍問題 System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.Arguments = @"/c dir"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; p.Start();
沒有留言:
張貼留言