Version windows

Description

J'ai vu un code qui utilisait les api pour recuperer la version de windows, je me suis dit que la méthode utilisant les variables globales _osver, _winmajor, _winminor était plus simple donc je la poste.

Source / Exemple :


#include <windows.h>
#include "resource.h"
#include "FncASM.h"

HWND hdlg;

void ObtVersionWin()
{
	char szBuff[128], *c;
	
	c = bnstrcpy(szBuff, "Windows ");

	switch (_winmajor) {
		case 4:
			switch (_winminor) {
				case 0:		*((DWORD *)c) = 0x203539; c += 3; break;	//"95 "
				case 10:	*((DWORD *)c) = 0x203839; c += 3; break;	//"98 "
				case 90:	*((DWORD *)c) = 0x204D45; c += 3;			//"ME "
			}
			break;
		case 5:
			switch (_winminor) {
				case 0:		*((DWORD *)c) = 0x204B32; c += 3; break;		//"2K "
				case 1:		*((DWORD *)c) = 0x205058; c += 3; break;		//"XP "							
				case 2:		*((DWORD *)c) = 0x33303032;	c += 4; *c++ = ' ';	//"2003 "
			}
	}
	c = bnstrcpy(c, "version build ");
    c = bnultoa(_osver, c);

	SetDlgItemText(hdlg, IDST_VER, szBuff);
}

BOOL CALLBACK DlgProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
{
    switch (message) {
		case WM_INITDIALOG:
			SetClassLong(hwnd, GCL_HICON, (long)LoadIcon(0, IDI_APPLICATION));
			hdlg = hwnd;
			ObtVersionWin();
		case WM_COMMAND:
			if (wparam == IDOK || wparam == IDCANCEL) EndDialog(hwnd, 0);
			return 0;
		default:
			return 0;
	}
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE p, LPSTR q, int r) 
{
	DialogBoxParam(hInstance, (LPCTSTR)IDD_VERWIN, 0, DlgProc, 0);

	return 0;
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.