Windows 7 на самом деле версия 6.1 , а не версия 7. Вы проверяете неправильный номер. В противном случае, я не совсем уверен, почему код, который вы показали, не работает. По крайней мере, одна проблема заключается в том, что в VB 6 нет ключевого слова return
. Последняя строка в вашей функции GetOS
должна быть GetOS = sOS
. Как только я исправлю эти проблемы, у меня это тоже будет отлично работать.
У меня есть полное рабочее решение, доступное здесь . Он обнаруживает все известные версии Windows быстро и точно. Я лично проверил это, по крайней мере, на 5 разных версиях Windows без каких-либо проблем.
Все, что вам нужно сделать, это скопировать и вставить код в ваш проект, и он просто работает.
Вот доказательство того, что он работает правильно на моем ноутбуке с Windows 7:
Я действительно не уверен, почему все так стараются предложить альтернативные, частично работающие решения. Этот гарантирован на работу или ваши деньги обратно. Если это не работает для вас, убедитесь, что вы не запускаете приложение в «Режим Windows XP» или на какой-либо другой виртуальной машине.