コード例 #1
0
ファイル: Version.cs プロジェクト: DaleLin93/MarukoLib
        public static bool IsWindowsServer()
        {
            var osvi = new OsVersionInfoExW
            {
                dwOSVersionInfoSize = Marshal.SizeOf(typeof(OsVersionInfoExW)),
                wProductType        = VER_NT_WORKSTATION
            };
            var dwlConditionMask = VerSetConditionMask(0, VER_PRODUCT_TYPE, VER_EQUAL);

            return(!VerifyVersionInfoW(ref osvi, VER_PRODUCT_TYPE, dwlConditionMask));
        }
コード例 #2
0
ファイル: Version.cs プロジェクト: DaleLin93/MarukoLib
        private static bool IsWindowsVersionOrGreater(ushort wMajorVersion, ushort wMinorVersion, ushort wServicePackMajor)
        {
            var osvi = new OsVersionInfoExW {
                dwOSVersionInfoSize = Marshal.SizeOf(typeof(OsVersionInfoExW))
            };
            var dwlConditionMask = VerSetConditionMask(
                VerSetConditionMask(
                    VerSetConditionMask(
                        0, VER_MAJORVERSION, VER_GREATER_EQUAL),
                    VER_MINORVERSION, VER_GREATER_EQUAL),
                VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL);

            osvi.dwMajorVersion    = wMajorVersion;
            osvi.dwMinorVersion    = wMinorVersion;
            osvi.wServicePackMajor = wServicePackMajor;
            return(VerifyVersionInfoW(ref osvi, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR, dwlConditionMask));
        }
コード例 #3
0
 public static extern bool VerifyVersionInfoW([In] ref OsVersionInfoExW lpVersionInformation, uint dwTypeMask, ulong dwlConditionMask);