public static extern void GlobalMemoryStatus( ref MemoryStatus buffer );
private static void DisplayStartup() { // Convert millseconds to nanoseconds TimeSpan ts = TimeSpan.FromMilliseconds( Environment.TickCount ); MemoryStatus memoryStatus = new MemoryStatus(); NativeMethods.GlobalMemoryStatus( ref memoryStatus ); Logger.WriteSection( string.Format( CultureInfo.CurrentCulture, "Test Start At {0} {1}", DateTime.Now.ToShortDateString(), DateTime.Now.ToString( "HH:mm:ss:ffff", CultureInfo.CurrentCulture.DateTimeFormat ) ) ); Logger.WriteHeader(); Logger.WriteSection( "Computer Details" ); Logger.WriteAnswer( "OS", Environment.OSVersion.ToString() ); Logger.WriteAnswer( "Culture", CultureInfo.CurrentCulture.EnglishName ); Logger.WriteAnswer( "Processors", Environment.ProcessorCount.ToString( CultureInfo.CurrentCulture.NumberFormat ) ); Logger.WriteAnswer( "System Directory", Environment.SystemDirectory ); Logger.WriteAnswer( "Running Time", string.Format( CultureInfo.CurrentCulture, "{0:0} hrs {1} mins {2} secs", ts.TotalHours, ts.Minutes, ts.Seconds ) ); Logger.WriteAnswerInMB( "Working Set", Environment.WorkingSet ); Logger.WriteAnswerInMB( "Total Physical", memoryStatus.TotalPhysical ); Logger.WriteAnswerInMB( "Available Physical", memoryStatus.AvailablePhysical ); Logger.WriteAnswerInMB( "Total Virtual", memoryStatus.TotalVirtual ); Logger.WriteAnswerInMB( "Available Virtual", memoryStatus.AvailableVirtual ); }