Get OS Version from kernel32.dll : Windows API « Windows « C# / C Sharp






Get OS Version from kernel32.dll

   

using System;
using System.Runtime.InteropServices;

public class Starter {
    public static void Main() {
        API.OSVERSIONINFO info = new API.OSVERSIONINFO();
        info.dwOSVersionInfoSize = Marshal.SizeOf(info);
        bool resp = API.GetVersionEx(ref info);
        if (resp == false) {
            Console.WriteLine("GetVersion failed");
        }
        Console.WriteLine("{0}.{1}.{2}",
            info.dwMajorVersion,
            info.dwMinorVersion,
            info.dwBuildNumber);
    }
}

public class API {

    [DllImport("kernel32.dll")]
    public static extern
        bool GetVersionEx(ref OSVERSIONINFO lpVersionInfo);

    [StructLayout(LayoutKind.Sequential)]
    public struct OSVERSIONINFO {
        public System.Int32 dwOSVersionInfoSize;
        public System.Int32 dwMajorVersion;
        public System.Int32 dwMinorVersion;
        public System.Int32 dwBuildNumber;
        public System.Int32 dwPlatformId;
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
        public String szCSDVersion;

    }

}

   
    
  








Related examples in the same category

1.DLL: GetVersionEx
2.Keyboard timer: GetTickCountKeyboard timer: GetTickCount
3.BitBlt
4.Get the Total Free Space on a Drive by using kernel32.dll
5.imports three functions to display the vertical and horizontal size of the screen.
6.MessageBox from user32.dll
7.imports the printf function
8.import CreateDirectory and FormatMessage
9.marshals string for unmanaged memory as ANSI.
10.imports the GetModuleHandleW function specifically
11.Set mouse and keyboard hooks.
12.Sound Utils
13.Returns the HRESULT associated with the given error code.