Я знаю, что я могу вызвать функцию GetVersionEx Win32 API для извлечения версии Windows. В большинстве случаев возвращаемое значение отражает версию моей Windows, но иногда это не так.
Если пользователь запускает мое приложение под уровнем совместимости, то GetVersionEx не будет сообщать реальную версию, а версию, обеспечиваемую уровнем совместимости. Например, если я запускаю Vista и выполняю свою программу в режиме совместимости "Windows NT 4", GetVersionEx не вернет версию 6.0, но 4.0.
Есть ли способ обойти это поведение и получить истинную версию Windows?