📄 test.cpp
字号:
#ifdef _WIN32
#include <afxwin.h> // MFC core and standard components
#elif _WINDOWS
#include <afxwin.h> // MFC core and standard components
#elif _DOS
#include <afx.h>
#endif
#include "dtwinver.h"
#ifdef _WINDOWS
int PASCAL WinMain(HINSTANCE /*hinstCurrent*/, HINSTANCE /*hinstPrevious*/, LPSTR /*lpszCmdLine*/, int /*nCmdShow*/)
{
#else
int main()
{
#endif
OS_VERSION_INFO osvi;
memset(&osvi, 0, sizeof(OS_VERSION_INFO));
osvi.dwOSVersionInfoSize = sizeof(OS_VERSION_INFO);
char sText[512];
char sBuf[100];
if (GetOSVersion(&osvi))
{
sprintf(sText, "GetOSVersion reports that you are running\nEmulated OS: ");
switch (osvi.dwEmulatedPlatformId)
{
case PLATFORM_WIN32S:
{
sprintf(sBuf, "Win32s ");
break;
}
case PLATFORM_WINDOWS:
{
if (IsEmulatedWindows95(&osvi))
sprintf(sBuf, "Windows 95");
else if (IsEmulatedWindows98(&osvi))
sprintf(sBuf, "Windows 98");
else
sprintf(sBuf, "Windows");
break;
}
case PLATFORM_NT_WORKSTATION:
{
sprintf(sBuf, "Windows NT Workstation");
break;
}
case PLATFORM_WINDOWS31:
{
sprintf(sBuf, "Windows");
break;
}
case PLATFORM_WINDOWSFW:
{
sprintf(sBuf, "Windows For Workgroups");
break;
}
case PLATFORM_DOS:
{
sprintf(sBuf, "Dos");
break;
}
case PLATFORM_NT_SERVER:
{
sprintf(sBuf, "Windows NT Server");
break;
}
default:
{
sprintf(sBuf, "Unknown");
break;
}
}
strcat(sText, sBuf);
sprintf(sBuf, " v%d.", osvi.dwEmulatedMajorVersion);
strcat(sText, sBuf);
sprintf(sBuf, "%02d ", osvi.dwEmulatedMinorVersion);
strcat(sText, sBuf);
sprintf(sBuf, "Build Number:%d\n", osvi.dwEmulatedBuildNumber);
strcat(sText, sBuf);
sprintf(sBuf, "Underlying OS: ");
strcat(sText, sBuf);
switch (osvi.dwUnderlyingPlatformId)
{
case PLATFORM_WIN32S:
{
sprintf(sBuf, "Win32s");
break;
}
case PLATFORM_WINDOWS:
{
if (IsUnderlyingWindows95(&osvi))
sprintf(sBuf, "Windows 95");
else if (IsUnderlyingWindows98(&osvi))
sprintf(sBuf, "Windows 98");
else
sprintf(sBuf, "Windows");
break;
}
case PLATFORM_NT_WORKSTATION:
{
sprintf(sBuf, "Windows NT Workstation");
break;
}
case PLATFORM_WINDOWS31:
{
sprintf(sBuf, "Windows");
break;
}
case PLATFORM_WINDOWSFW:
{
sprintf(sBuf, "Windows For Workgroups");
break;
}
case PLATFORM_DOS:
{
sprintf(sBuf, "Dos");
break;
}
case PLATFORM_NT_SERVER:
{
sprintf(sBuf, "Windows NT Server");
break;
}
default:
{
sprintf(sBuf, "Unknown");
break;
}
}
strcat(sText, sBuf);
sprintf(sBuf, " v%d.", osvi.dwUnderlyingMajorVersion);
strcat(sText, sBuf);
sprintf(sBuf, "%02d ", osvi.dwUnderlyingMinorVersion);
strcat(sText, sBuf);
sprintf(sBuf, "Build Number:%d\n", osvi.dwUnderlyingBuildNumber);
strcat(sText, sBuf);
}
else
sprintf(sText, "Failed in call to GetOSVersion\n");
#ifdef _WINDOWS
MessageBox(NULL, sText, "OS Version Detector", MB_OK);
#else
printf(sText);
#endif
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -