How to get windows version in C

1 Answer

0 votes
#include <stdio.h>
#include <windows.h>

int main(){
    NTSTATUS(WINAPI * RtlGetVersion)(LPOSVERSIONINFOEXW);
    OSVERSIONINFOEXW osvInfo;

    *(FARPROC*)&RtlGetVersion = GetProcAddress(GetModuleHandleA("ntdll"), "RtlGetVersion");

    if (RtlGetVersion != NULL) {
        osvInfo.dwOSVersionInfoSize = sizeof(osvInfo);
        RtlGetVersion(&osvInfo);
    }
    
    printf("Version is %d.%d (%d)\n", 
        osvInfo.dwMajorVersion, 
        osvInfo.dwMinorVersion, 
        osvInfo.dwBuildNumber);

    return 0;   

}



/*
run:

Version is 10.0 (19044)

*/

 



answered Apr 24, 2022 by avibootz

Related questions

1 answer 246 views
1 answer 231 views
2 answers 256 views
1 answer 178 views
1 answer 189 views
...