C# Process名指定でプロセスの稼働時間やIDを取得。一定時間以上稼働しているものをkillする。
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; using System.Diagnostics; namespace TimerExample2 { public partial class Form1 : Form { bool isRun = false; public Form1() { InitializeComponent(); } private void timer1_Tick(object sender, EventArgs e) { if (isRun) { string processName = textBox1.Text; Process[] processlist = Process.GetProcessesByName(processName); StringBuilder sb = new StringBuilder(); foreach (Process process in processlist) { DateTime startTime = process.StartTime; TimeSpan runTime = DateTime.Now - startTime; var limitAddTime = 1; DateTime limitTime = process.StartTime.AddMinutes(limitAddTime); sb.Append("[ID:" + process.Id + "]" + process.ProcessName + "[稼働時間:" + runTime.Hours + ":" + runTime.Minutes + runTime.Seconds + "][制限時間:" + limitTime + "]" + System.Environment.NewLine); var limitTimeOfDay = limitTime.TimeOfDay; if ((limitTimeOfDay - startTime.TimeOfDay) < runTime) { process.Kill(); } } label1.Text = sb.ToString(); } } private void button1_Click(object sender, EventArgs e) { isRun = true; timer1.Enabled = true; } private void button2_Click(object sender, EventArgs e) { isRun = false; } private void Form1_Load(object sender, EventArgs e) { timer1.Enabled = false; } } }
猫でもわかるC#プログラミング 第2版 (猫でもわかるシリーズ)
- 作者: 粂井康孝
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2010/09/01
- メディア: 単行本
- 購入: 1人 クリック: 20回
- この商品を含むブログ (6件) を見る