我試圖得到實際的可用內存。 這似乎是使用性能計數器的最簡單的解決方案。它在我的編碼機上工作得很好,不幸的是我在目標計算機上得到一個異常。我使用Windows XP和.NET 3.5 你能幫我嗎?InvalidOperationException當創建PerformanceCounter
代碼:
namespace TestConsole
{
class Program
{
static void Main(string[] args)
{
PerformanceCounter ramCounter = new PerformanceCounter("Memory", "Available Bytes");
}
}
}
例外:
Unhandled Exception: System.InvalidOperationException: Category does not exist.
at System.Diagnostics.PerformanceCounterLib.CounterExists(String machine, String category, String counter)
at System.Diagnostics.PerformanceCounter.Initialize()
at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, String instanceName, Boolean
readOnly)
at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName)
at TestConsole.Program.Main(String[] args) in D:\Projektarbeit\Bachelorarbeit\VS2010\Projekte\DiagStationControllerTe
stConsoleV1\TestConsole\Program.cs:line 15
這似乎提供了一個解決方案: http://support.microsoft.com/ kb/300956/en-us 不幸的是我不允許改變我的目標上的註冊表 –