今のところ、私はX分を渡します。今のところはしません。残りについては、これが現在使用しているコードです。
私はこのようにしようとしました:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using DannyGeneral;
namespace CpuUsage
{
public partial class Form1 : Form
{
private PerformanceCounter theCPUCounter;
private PerformanceCounter theMemCounter;
private PerformanceCounter specProcessCPUCounter;
private float cpuUsage;
private float memUsage;
private string processname;
private List<float> Values;
public Form1()
{
InitializeComponent();
Values = new List<float>();
theCPUCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
theMemCounter = new PerformanceCounter("Memory", "Available MBytes");
specProcessCPUCounter = new PerformanceCounter("Process", "% Processor Time", Process.GetCurrentProcess().ProcessName);
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
memUsage = theMemCounter.NextValue();
label1.Text = memUsage.ToString();
Logger.Write("Memory Usage " + memUsage.ToString());
cpuUsage = this.theCPUCounter.NextValue();
label2.Text = cpuUsage.ToString();
Logger.Write("Cpu Usage " + this.cpuUsage.ToString());
Values.Add(cpuUsage);
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
float Maximum = Values.Max();
float Minimum = Values.Min();
float Average = Values.Average();
string t = string.Format("{0}Maximum,{1}Minimum,{2}Average", Maximum, Minimum, Average);
Logger.Write(t);
}
}
}
問題は、ロガー テキスト ファイルの結果が次のようになることです。
8/29/2012--1:57 AM ==> Memory Usage 2683
8/29/2012--1:57 AM ==> Cpu Usage 0
8/29/2012--1:57 AM ==> Memory Usage 2681
8/29/2012--1:57 AM ==> Cpu Usage 5.951914
8/29/2012--1:57 AM ==> Memory Usage 2675
8/29/2012--1:57 AM ==> Cpu Usage 1.15339
8/29/2012--1:57 AM ==> Memory Usage 2674
8/29/2012--1:57 AM ==> Cpu Usage 4.230328
8/29/2012--1:57 AM ==> Memory Usage 2674
8/29/2012--1:57 AM ==> Cpu Usage 1.345688
8/29/2012--1:57 AM ==> Memory Usage 2677
8/29/2012--1:57 AM ==> Cpu Usage 4.422635
8/29/2012--1:57 AM ==> Memory Usage 2676
8/29/2012--1:57 AM ==> Cpu Usage 0.768766
8/29/2012--1:57 AM ==> Memory Usage 2676
8/29/2012--1:57 AM ==> Cpu Usage 0.5764585
8/29/2012--1:57 AM ==> Memory Usage 2676
8/29/2012--1:57 AM ==> Cpu Usage 8.076494
8/29/2012--1:58 AM ==> 8.076494Maximum,0Minimum,2.947297Average
フォーマットの最後の行は、私が望んでいたものではありません。次のようなものにしたかった:最大 --- 8.076494 、最小 --- 0 、平均 --- 2.947297
しかし、今は最初に値を取得し、次にテキストを取得し、値と各テキストの間にスペースを入れません。
私の唯一の問題は、string.Formatの最後の行です
約5分ごとに合格します。今のところはしません。