code which used to work now no longer works. this mailing list once told me to
no longer use OSVERSIONINFOEX but instead use OSVERSIONINFOEXA.
well, I have code which looks like below, and the dots version number doesn't
even print.
so what's going on?
I am using 4.7.0 20111127, which is the only compiler which works, and
apparently was removed from the auto builds. (Why?)
OSVERSIONINFOEXA osve;
memset(&osve, 0, sizeof(OSVERSIONINFOEXA));
osve.dwOSVersionInfoSize=sizeof(OSVERSIONINFOEXA);
if (0 != GetVersionEx((POSVERSIONINFOA)&osve)) {
fprintf(fout,"dwPlatformId.dwMajorVersion.dwMinorVersion.dwBuildNumber=");
fprintf(fout,"%lu.%lu.%lu.%lu\n",
osve.dwPlatformId,
osve.dwMajorVersion,
osve.dwMinorVersion,
osve.dwBuildNumber);
fprintf(fout,"wServicePackMajor.wServicePackMinor=%u.%u\n",
osve.wServicePackMajor,
osve.wServicePackMinor);
fprintf(fout,"szCSDVersion=\"%s\"\n", osve.szCSDVersion);
switch (osve.wProductType) {
case VER_NT_WORKSTATION:
fprintf(fout,"wProductType=VER_NT_WORKSTATION=%u\n",
osve.wProductType);
break;
case VER_NT_SERVER:
fprintf(fout,"wProductType=VER_NT_SERVER=%u\n",
osve.wProductType);
break;
case VER_NT_DOMAIN_CONTROLLER:
fprintf(fout,"wProductType=VER_NT_DOMAIN_CONTROLLER=%u\n",
osve.wProductType);
break;
default:
fprintf(fout,"wProductType=UNKNOWN!=%u\n",
osve.wProductType);
break;
}
fprintf(fout,"wReserved=%u\n", osve.wReserved);
fprintf(fout,"wSuiteMask=0x%X\n", osve.wSuiteMask);
if (osve.wSuiteMask & VER_SUITE_BACKOFFICE) {
fprintf(fout,"wSuiteMask&VER_SUITE_BACKOFFICE 0x%x\n", VER_SUITE_BACKOFFICE);}
if (osve.wSuiteMask & VER_SUITE_BLADE) {
fprintf(fout,"wSuiteMask&VER_SUITE_BLADE 0x%x\n", VER_SUITE_BLADE);}
if (osve.wSuiteMask & VER_SUITE_COMPUTE_SERVER) {
fprintf(fout,"wSuiteMask&VER_SUITE_COMPUTE_SERVER 0x%x\n",
VER_SUITE_COMPUTE_SERVER);}
if (osve.wSuiteMask & VER_SUITE_DATACENTER) {
fprintf(fout,"wSuiteMask&VER_SUITE_DATACENTER 0x%x\n", VER_SUITE_DATACENTER);}
if (osve.wSuiteMask & VER_SUITE_ENTERPRISE) {
fprintf(fout,"wSuiteMask&VER_SUITE_ENTERPRISE 0x%x\n", VER_SUITE_ENTERPRISE);}
if (osve.wSuiteMask & VER_SUITE_EMBEDDEDNT) {
fprintf(fout,"wSuiteMask&VER_SUITE_EMBEDDEDNT 0x%x\n", VER_SUITE_EMBEDDEDNT);}
if (osve.wSuiteMask & VER_SUITE_PERSONAL) {
fprintf(fout,"wSuiteMask&VER_SUITE_PERSONAL 0x%x\n", VER_SUITE_PERSONAL);}
if (osve.wSuiteMask & VER_SUITE_SINGLEUSERTS) {
fprintf(fout,"wSuiteMask&VER_SUITE_SINGLEUSERTS 0x%x\n",
VER_SUITE_SINGLEUSERTS);}
if (osve.wSuiteMask & VER_SUITE_SMALLBUSINESS) {
fprintf(fout,"wSuiteMask&VER_SUITE_SMALLBUSINESS 0x%x\n",
VER_SUITE_SMALLBUSINESS);}
if (osve.wSuiteMask & VER_SUITE_SMALLBUSINESS_RESTRICTED) {
fprintf(fout,"wSuiteMask&VER_SUITE_SMALLBUSINESS_RESTRICTED 0x%x\n",
VER_SUITE_SMALLBUSINESS_RESTRICTED);}
if (osve.wSuiteMask & VER_SUITE_STORAGE_SERVER) {
fprintf(fout,"wSuiteMask&VER_SUITE_STORAGE_SERVER 0x%x\n",
VER_SUITE_STORAGE_SERVER);}
if (osve.wSuiteMask & VER_SUITE_TERMINAL) {
fprintf(fout,"wSuiteMask&VER_SUITE_TERMINAL 0x%x\n", VER_SUITE_TERMINAL);}
if (osve.wSuiteMask & VER_SUITE_WH_SERVER) {
fprintf(fout,"wSuiteMask&VER_SUITE_WH_SERVER 0x%x\n", VER_SUITE_WH_SERVER);}
}
fprintf(fout,"%u=GetSystemMetrics(SM_MEDIACENTER)\n",
GetSystemMetrics(SM_MEDIACENTER));
fprintf(fout,"%u=GetSystemMetrics(SM_STARTER)\n",
GetSystemMetrics(SM_STARTER) );
fprintf(fout,"%u=GetSystemMetrics(SM_TABLETPC)\n",
GetSystemMetrics(SM_TABLETPC) );
fprintf(fout,"%u=GetSystemMetrics(SM_SERVERR2)\n",
GetSystemMetrics(SM_SERVERR2) );
-------------
Jim Michaels
[email protected]
[email protected]
http://JimsComputerRepairandWebDesign.com
http://JesusnJim.com (my personal site, has software)
---
Computer memory measurements, SSD measurements, microsoft disk size
measurements (note: they will say GB or MB or KB or TB when it is not!):
[KiB] [MiB] [GiB] [TiB]
[2^10B=1,024B=1KiB]
[2^20B=1,048,576B=1MiB]
[2^30B=1,073,741,824B=1GiB]
[2^40B=1,099,511,627,776B=1TiB]
hard disk industry disk size measurements:
[KB] [MB] [GB] [TB]
[10^3B=1,000B=1KB]
[10^6B=1,000,000B=1MB]
[10^9B=1,000,000,000B=1GB]
[10^12B=1,000,000,000,000B=1TB]------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public