0 Usuarios y 1 Visitante están viendo este tema.
<DllImport("Ntdll.dll", CharSet:=CharSet.Unicode, ExactSpelling:=True)> Friend Shared Function RtlGetVersion(<[In], Out> ByVal osversion As RtlOsVersionInfoExW) As Integer End Function <StructLayout(LayoutKind.Sequential)> Public Class RtlOsVersionInfoExW Public dwOSVersionInfoSize As UInt32 Public dwMajorVersion As UInt32 Public dwMinorVersion As UInt32 Public dwBuildNumber As UInt32 Public dwPlataformId As UInt32 <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=128)> Public szCSDVersion As String Public wServicePackMajor As UInt16 Public wServicePackMinor As UInt16 Public wSuiteMask As UInt16 Public bProductType As Byte Public bReserved As Byte End Class Public Function NativeOsVersion() As Version Dim osVersionInfo As New RtlOsVersionInfoExW() osVersionInfo.dwOSVersionInfoSize = Marshal.SizeOf(GetType(RtlOsVersionInfoExW)) Dim status As Integer = RtlGetVersion(osVersionInfo) If status <> 0 Then ' Throw New Win32Exception(RtlNtStatusToDosError(status)) Return Environment.OSVersion.Version End If Return New Version(osVersionInfo.dwMajorVersion, osVersionInfo.dwMinorVersion, osVersionInfo.dwBuildNumber) End Function