Output Version of Tux Paint and Windows

This enables to know the user's environment easily.
This commit is contained in:
dolphin6k 2023-10-28 17:55:38 +09:00
parent 9cc26e6ed6
commit 10a0a34b1b
3 changed files with 65 additions and 1 deletions

51
src/win32_version.c Normal file
View file

@ -0,0 +1,51 @@
#include <windows.h>
#include <VersionHelpers.h>
#include <stdio.h>
#include "debug.h"
void win32_print_version(void);
void win32_print_version(void)
{
char *verStr;
unsigned int Version = 0;
unsigned int Build = 0;
Version = GetVersion();
if (Version < 0x80000000)
Build = (DWORD)(HIWORD(Version));
if (IsWindows10OrGreater()) {
if (Build < 22000){
verStr = strdup("Windows 10");
}else{
verStr = strdup("Windows 11");
}
}else if (IsWindows8Point1OrGreater()){
verStr = strdup("Windows 8.1");
}else if (IsWindows8OrGreater()){
verStr = strdup("Windows 8");
}else if (IsWindows7SP1OrGreater()){
verStr = strdup("Windows 7 Service Pack 1");
}else if (IsWindows7OrGreater()){
verStr = strdup("Windows 7");
}else if (IsWindowsVistaSP2OrGreater()){
verStr = strdup("Windows Vista Service Pack 2");
}else if (IsWindowsVistaSP1OrGreater()){
verStr = strdup("Windows Vista Service Pack 1");
}else if (IsWindowsVistaOrGreater()){
verStr = strdup("Windows Vista");
}else{
verStr = strdup("unknown");
}
printf ("Microsoft %s", verStr);
if (IsWindowsServer()){
printf(" Server");
}
if (Version < 0x80000000){
printf(" (Build %d)\n", Build);
}
}