1

Windows OS がサーバー (2003/2008) またはワークステーション (XP/Vista/Win7) であることを検出するための Win Api を知りたいですか?

4

2 に答える 2

2

電話GetVersionExしてOSVERSIONINFOEX情報を入手し、テストしwProductTypeます。

于 2012-07-20T06:55:24.740 に答える
1

それは次のようなものです:

OSVERSIONINFOEX osvi;
BOOL bIsWindowsXPorLater;

ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);

GetVersionEx((LPOSVERSIONINFO )&osvi);

if(osvi.wProductType == VER_NT_WORKSTATION)
{
    // Workstation
    printf("VER_NT_WORKSTATION.\n");

}
else
{
    // Server
    if(osvi.wProductType == VER_NT_DOMAIN_CONTROLLER)
    {
        printf("DOMAIN_CONTROLLER.\n");
    }

    if(osvi.wProductType == VER_NT_SERVER)
    {
        printf("SERVER.\n");      
    }
}

kernel.lib も必要です

于 2012-07-20T08:25:57.433 に答える