您將需要命名空間System.Diagnostics & System.Timers。然後按照下面的步驟。
static System.Timers.Timer tTimer;
const Int32 iInterval = 30;
static Boolean IsProcessRunning = false;
static Int32 iProcessID = 0;
static Int32 SetTimerInterval(Int32 minute)
{
if (minute <= 0)
minute = 60;
DateTime now = DateTime.Now;
DateTime next = now.AddMinutes((minute - (now.Minute % minute))).AddSeconds(now.Second * -1).AddMilliseconds(now.Millisecond * -1);
TimeSpan interval = next - now;
return (Int32)interval.TotalMilliseconds;
}
static void timer_Elapsed(object sender, EventArgs e)
{
if (!IsProcessRunning)
{
ProcessStartInfo objStartInfo = new ProcessStartInfo();
objStartInfo.FileName = "C:\\Windows\\notepad.exe";
Process objProcess = new Process();
objProcess.StartInfo = objStartInfo;
objProcess.Start();
iProcessID = objProcess.Id;
IsProcessRunning = true;
}
else
{
Process objProcess = Process.GetProcessById(iProcessID);
objProcess.Kill();
IsProcessRunning = false;
}
tTimer.Interval = SetTimerInterval(iInterval);
}
然後在你的啓動按鈕,點擊...
tTimer = new System.Timers.Timer();
tTimer.Interval = SetTimerInterval(iInterval);
tTimer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
tTimer.Start();
您可以隨時停止此...
tTimer.Stop();
,你準備好去...
這將幫助你http://stackoverflow.com/questions/5905180/executing-an-exe-from-asp-net – MVCKarl
你是什麼意思開始和停止?如果你按原樣運行exe,它是否無限運行,每隔一段時間檢查一次網絡?你可以在你的asp.net代碼中使用Process.Start,但我不清楚你的需求的開始停止部分。 – ryadavilli
我需要點擊一個開始按鈕來啓動exe,並且需要點擊一個停止按鈕來停止它。該exe將不斷運行,直到我被調用後點擊停止按鈕。 –