Example #1
0
        /// <summary>
        /// Creates a MachineInfo describing the current machine
        /// </summary>
        public static MachineInfo CreateForCurrentMachine()
        {
            MachineInfo mi = new MachineInfo();

            mi.ProcessorCount      = Environment.ProcessorCount;
            mi.OsVersion           = OperatingSystemHelper.GetOSVersion();
            mi.ProcessorName       = OperatingSystemHelper.GetProcessorName();
            mi.ProcessorIdentifier = OperatingSystemHelper.GetProcessorIdentifier();
            mi.EnvironmentVersion  = Environment.Version.ToString(4);
            mi.InstalledMemoryMB   = OperatingSystemHelper.GetPhysicalMemorySize().MB;

            char currentDrive = Environment.CurrentDirectory[0];
            bool?seekPenalty  = (char.IsLetter(currentDrive) && currentDrive > 64 && currentDrive < 123)
                ? FileUtilities.DoesLogicalDriveHaveSeekPenalty(currentDrive)
                : false;

            mi.CurrentDriveHasSeekPenalty = seekPenalty ?? false;
            mi.DotNetFrameworkVersion     = OperatingSystemHelper.GetInstalledDotNetFrameworkVersion();
            return(mi);
        }