Обнаружение набора продуктов
В следующем примере функция VerifyVersionInfo используется для определения того, установлены ли указанные наборы продуктов на локальном компьютере.
В этом примере используется флаг VER_AND. Если в маске набора задано два флага, функция возвращает значение TRUE , только если присутствуют оба набора продуктов. Если пример был изменен для использования флага VER_OR, VerifyVersionInfo вернет значение TRUE , если бы существовал любой из наборов продуктов.
#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");
}