86 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Text;
 | 
						|
 | 
						|
namespace DevComponents.Tree.Helpers
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// Defines various system information based helper functions.
 | 
						|
    /// </summary>
 | 
						|
    internal static class SystemHelpers
 | 
						|
    {
 | 
						|
        #region Private Variables
 | 
						|
        private static bool _ThemedOS = false;
 | 
						|
        private static bool _SupportsAnimation = false;
 | 
						|
        private static bool _IsWindowsXP = false;
 | 
						|
        private static bool _IsVista = false;
 | 
						|
        private static bool _IsWindows7 = false;
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region Internal Implementation
 | 
						|
        static SystemHelpers()
 | 
						|
        {
 | 
						|
 | 
						|
            WinApi.OSVERSIONINFO os = new WinApi.OSVERSIONINFO();
 | 
						|
            os.dwOSVersionInfoSize = System.Runtime.InteropServices.Marshal.SizeOf(typeof(WinApi.OSVERSIONINFO));
 | 
						|
            WinApi.GetVersionEx(ref os);
 | 
						|
            if (os.dwPlatformId == 2 && os.dwMajorVersion == 4)
 | 
						|
                _SupportsAnimation = false;
 | 
						|
            if (os.dwMajorVersion == 5 && os.dwMinorVersion >= 1 && os.dwPlatformId == 2 ||
 | 
						|
                os.dwMajorVersion > 5 && os.dwPlatformId == 2)
 | 
						|
                _ThemedOS = System.Windows.Forms.OSFeature.Feature.IsPresent(System.Windows.Forms.OSFeature.Themes);
 | 
						|
            Version osVersion = System.Environment.OSVersion.Version;
 | 
						|
            _IsWindowsXP = osVersion.Major <= 5;
 | 
						|
            _IsVista = osVersion.Major >= 6;
 | 
						|
            _IsWindows7 = osVersion.Major >= 6 && osVersion.Minor >= 1 && osVersion.Build >= 7000;
 | 
						|
        }
 | 
						|
 | 
						|
        public static bool ThemedOS
 | 
						|
        {
 | 
						|
            get { return _ThemedOS; }
 | 
						|
            set
 | 
						|
            {
 | 
						|
                _ThemedOS = value;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        public static bool SupportsAnimation
 | 
						|
        {
 | 
						|
            get { return _SupportsAnimation; }
 | 
						|
            set
 | 
						|
            {
 | 
						|
                _SupportsAnimation = value;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        public static bool IsWindowsXP
 | 
						|
        {
 | 
						|
            get { return _IsWindowsXP; }
 | 
						|
            set
 | 
						|
            {
 | 
						|
                _IsWindowsXP = value;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        public static bool IsVista
 | 
						|
        {
 | 
						|
            get { return _IsVista; }
 | 
						|
            set
 | 
						|
            {
 | 
						|
                _IsVista = value;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        public static bool IsWindows7
 | 
						|
        {
 | 
						|
            get { return _IsWindows7; }
 | 
						|
            set
 | 
						|
            {
 | 
						|
                _IsWindows7 = value;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
        
 | 
						|
    }
 | 
						|
}
 |