2의 반환. osvi.dwPlatformId, osvi.dwMajorVersion 및 osvi.dwMinorVersion에 반환 된 값에 따라 조정됩니다.윈도우 8 부 버전에서 Windows 버전을 찾는 목적은, C++로 코드를 0 대신
MSDN에 따르면, 윈도우 8 MajorVersion의 값은 6이며, MinorVersion의 값은이 코드가 DLL에 컴파일 2.
내가 테스트에서 DLL을 호출하는 경우 코드가 실제로 작동 EXE 프로그램.
그러나 Windows Installer 패키지 (MSI)에서 사용자 지정 동작 내에서 동일한 DLL에서 동일한 코드를 호출하면 GetVersionEx()는 MinorVersion 필드에 0을 반환합니다.
이 버그가 발생 했습니까? 아무도 그 문제를 해결하는 방법을 알고 있습니까?
아마도 호환 모드에서 실행 중입니다. – SLaks
참. gpedit.msc를 실행하고 Aplication Compatibility Engine 및 Program Compatibility Assistant를 비활성화했습니다. 그것은 일하기 시작했습니다! – Alex