【发布时间】:2011-04-26 01:10:03
【问题描述】:
我认为这很简单,但我对如何设置变量“result”感到困惑(请参见下面的代码),因此我可以稍后在程序中调用它,当我希望计时器显示当前的 RAM 使用量时通过安装的总 RAM 来收集使用百分比。 WMI 收集已安装 RAM 的方式让我很失望,因为它必须执行 result["TotalVisibleMemorySize"]。将整个代码块放在计时器中的问题是它每 2 秒刷新一次,因为 WMI 很慢,这确实会延迟计数器。谢谢!
private void Form1_Load(object sender, EventArgs e)
{
ObjectQuery wql = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(wql);
ManagementObjectCollection results = searcher.Get();
foreach (ManagementObject result in results)
{
label1.Text = Convert.ToInt32(result["TotalVisibleMemorySize"]) + " KB";
}
}
private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Value = (int)(performanceCounter1.NextValue() - Convert.ToInt32(result["TotalVisibleMemorySize"]));
label1.Text = "Processor Time: " + progressBar1.Value.ToString() + "%";
}
【问题讨论】:
标签: c# variables global-variables call