?? 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 + -