DLL: GetVersionEx : Windows API « Windows « C# / C Sharp






DLL: GetVersionEx

   

using System;
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential)]
class OSVersionInfo {

    public int dwOSVersionInfoSize;
    public int dwMajorVersion;
    public int dwMinorVersion;
    public int dwBuildNumber;
    public int dwPlatformId;
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
    public String szCSDVersion;
}

class MainClass {
    [DllImport("kernel32.dll")]
    public static extern bool GetVersionEx([In, Out] OSVersionInfo osvi);

    static void Main(string[] args) {
        OSVersionInfo osvi = new OSVersionInfo();
        osvi.dwOSVersionInfoSize = Marshal.SizeOf(osvi);

        GetVersionEx(osvi);

        Console.WriteLine("Class size: " + osvi.dwOSVersionInfoSize);
        Console.WriteLine("Major Version: " + osvi.dwMajorVersion);
        Console.WriteLine("Minor Version: " + osvi.dwMinorVersion);
        Console.WriteLine("Build Number: " + osvi.dwBuildNumber);
        Console.WriteLine("Platform Id: " + osvi.dwPlatformId);
        Console.WriteLine("CSD Version: " + osvi.szCSDVersion);
        Console.WriteLine("Platform: " + Environment.OSVersion.Platform);
        Console.WriteLine("Version: " + Environment.OSVersion.Version);

    }
}

   
    
  








Related examples in the same category

1.Keyboard timer: GetTickCountKeyboard timer: GetTickCount
2.BitBlt
3.Get the Total Free Space on a Drive by using kernel32.dll
4.imports three functions to display the vertical and horizontal size of the screen.
5.MessageBox from user32.dll
6.Get OS Version from kernel32.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.