Partager via


Détection d’une suite de produits

L’exemple suivant utilise la fonction VerifyVersionInfo pour déterminer si les suites de produits spécifiées sont installées sur l’ordinateur local.

Cet exemple utilise l’indicateur VER_AND. Si deux indicateurs sont spécifiés dans le masque de suite, la fonction retourne TRUE uniquement si les deux suites de produits sont présentes. Si l’exemple a été modifié pour utiliser l’indicateur de VER_OR, VerifyVersionInfo retournerait TRUE si l’une ou l’autre suite de produits était présente.

#include <windows.h>
#include <stdio.h>

BOOL CheckProductSuite ( WORD wSuite ) 
{
  OSVERSIONINFOEX osvi;
  DWORDLONG dwlConditionMask = 0;

  // Initialize the OSVERSIONINFOEX structure.

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

  // Set up the condition mask.

  VER_SET_CONDITION( dwlConditionMask, 
          VER_SUITENAME, VER_AND );

  // Perform the test.

  return VerifyVersionInfo(
          &osvi, 
          VER_SUITENAME,
          dwlConditionMask);
}

void main()
{
    if( CheckProductSuite(VER_SUITE_ENTERPRISE) )
        printf( "The system meets the requirements.\n" );
    else printf( "The system does not meet the requirements.\n");
}