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");
}