Чуда не произошло!Developer писал(а):Функция работала, но только на последних версиях Windows результат был некорректен
Как определить разрядность Windows: 32 или 64
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
kreator
- ✯ Ветеран ✯
- Сообщения: 5250
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 27 раз
Как определить разрядность Windows: 32 или 64
We are hard at work… for you. 
Как определить разрядность Windows: 32 или 64
Из всего вышесказанного можно ли сделать вывод, что при появлении очередной версии ОС это свойство Клариона может "лажать", пока не выйдет очередная версия Клариона, в которой эта новая ОС будет "профиксена"?
Как определить разрядность Windows: 32 или 64
Вот поэтому, вне зависимости от версии Clarion которые "догоняют" Windows для специфических запросов к системе Windows предпочтительнее использовать функции Windows API.
О чём я и писал с просьбой портировать функцию Windows API IsWow64Process с C++ на Clarion IsWow64Process
Вне зависимости от версии Clarion использование функций Windows API
гарантирует корректный результат
Но этот подход сложнее
Требует знаний С++ по портированию кода из Microsoft MSDN в код Clarion
Применение SYSTEM{PROP:WindowsVersion,1-10} проще и доступнее, но имеет зависимость от SoftVelocity
О чём я и писал с просьбой портировать функцию Windows API IsWow64Process с C++ на Clarion IsWow64Process
Вне зависимости от версии Clarion использование функций Windows API
гарантирует корректный результат
Но этот подход сложнее
Применение SYSTEM{PROP:WindowsVersion,1-10} проще и доступнее, но имеет зависимость от SoftVelocity
С Уважением, Developer
-
kreator
- ✯ Ветеран ✯
- Сообщения: 5250
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 27 раз
Как определить разрядность Windows: 32 или 64
Не факт. SV наверняка тоже использует WinApi. Я другого пути не вижу. Для чистоты эксперимента нужно взять Clarion9.1 и Win10, и посмотреть результат SYSTEM{PROP:WindowsVersion,9}. Если будет 14, то используется WinApi. Developer, если всё это под рукой, проверь ради принципа. У меня Win10 есть, а C9.1 давно в архиве.Developer писал(а):Применение SYSTEM{PROP:WindowsVersion,1-10} проще и доступнее, но имеет зависимость от SoftVelocity
We are hard at work… for you. 
-
kreator
- ✯ Ветеран ✯
- Сообщения: 5250
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 27 раз
Как определить разрядность Windows: 32 или 64
Только надо помнить, что в equates.clw константы для данного пропа появились с десятой версии.
We are hard at work… for you. 
Как определить разрядность Windows: 32 или 64
Вот собранный пример на Clarion 9.1.11396 для получения сведений об Windows собранный с применением equates.clw от Clarion 10.0.0.11975
На Windows 7 x64 SP1 SYSTEM{PROP:WindowsVersion,9} результат = 0
Проверьте у кого есть Windows 10
На Windows 7 x64 SP1 SYSTEM{PROP:WindowsVersion,9} результат = 0
Проверьте у кого есть Windows 10
- Вложения
-
- Get Windows System Informations.rar
- (301.15 КБ) 272 скачивания
С Уважением, Developer
-
kreator
- ✯ Ветеран ✯
- Сообщения: 5250
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 27 раз
Как определить разрядность Windows: 32 или 64
На Win10 отработала неправильно. Даже первый индекс показала "Windows 8", даже не 8.1 (изначально стояла 8.1).
Похоже, я не прав. Надежда на то, что в C10 с введением поддержки индексов данного пропа, сделали всё правильно, через WinApi. Проверить можно будет на следующей версии Винды (которой не будет
).
Похоже, я не прав. Надежда на то, что в C10 с введением поддержки индексов данного пропа, сделали всё правильно, через WinApi. Проверить можно будет на следующей версии Винды (которой не будет
We are hard at work… for you. 
- Губин Игорь
- Шубуршун
- Сообщения: 2702
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 29 раз
Как определить разрядность Windows: 32 или 64
А теперь поставим самую свежую версию Clarion (12104kreator писал(а): На Win10 отработала неправильно. Даже первый индекс показала "Windows 8", даже не 8.1 (изначально стояла 8.1).
Похоже, я не прав. Надежда на то, что в C10 с введением поддержки индексов данного пропа, сделали всё правильно, через WinApi. Проверить можно будет на следующей версии Винды (которой не будет).
Последний раз редактировалось Губин Игорь 16 Март 2016, 14:47, всего редактировалось 1 раз.
Это я только кажусь дураком! На самом деле я полный идиот!
-
kreator
- ✯ Ветеран ✯
- Сообщения: 5250
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 27 раз
Как определить разрядность Windows: 32 или 64
Не знаю, что имеет ввиду Игорь, но заметил, что программа Developer'а отрабатывает странно. Я её перекомпилил на C10, она всё равно показывает неправильно. И я завис, не пойму в чём дело. У меня в программе, например, system{prop:WindowsVersion,9} показывает 14, а у Developer'а - 12.Губин Игорь писал(а):А теперь поставим самую свежую версию Clarion (12104), ПЕРЕКОМПИЛИРУЕМ и убедимся, что всё прекрасно работает
We are hard at work… for you. 
-
kreator
- ✯ Ветеран ✯
- Сообщения: 5250
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 27 раз
Как определить разрядность Windows: 32 или 64
Админы поставили Windows10 Корпоративная. Clarion (билд 12104) определяет её как Windows8.1. Ситуация странная, потому что с другими Win10 всё нормально.
We are hard at work… for you. 
Как определить разрядность Windows: 32 или 64
Случайно не Windows 10 Enterprise LTSB?
Проверю на своём компьютере с Windows 10 - сообщу о результате
Проверю на своём компьютере с Windows 10 - сообщу о результате
С Уважением, Developer
-
kreator
- ✯ Ветеран ✯
- Сообщения: 5250
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 27 раз
Как определить разрядность Windows: 32 или 64
Windows 10 Enterprise. А что такое LTSB?Developer писал(а):Случайно не Windows 10 Enterprise LTSB?
We are hard at work… for you. 
- Губин Игорь
- Шубуршун
- Сообщения: 2702
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 29 раз
Как определить разрядность Windows: 32 или 64
Я, тупо, не глядя на его программу, воскурил мануал
Это я только кажусь дураком! На самом деле я полный идиот!
-
Oleg Fomin
- Новичок
- Сообщения: 21
- Зарегистрирован: 12 Апрель 2006, 11:29
- Поблагодарили: 1 раз
Как определить разрядность Windows: 32 или 64
Коллеги, простите что не слишком рано встреваю в тему, редко бываю на форуме. Не так давно в буржуйских ньюсах делал маленький анонс. Работает приблуда на любой версии Clarion. Не забывайте добавлять к приложению соответствующий манифест, иначе Windows 10 прикидывается 8-кой и определение версии Windows будет некорректным. Источники информации указаны прямо в коде в комментах.
-------- Forwarded Message --------
Subject: ANN: Fomin Windows Version 1.0 (Freeware)
Date: 10 Jun 2016 16:55:45 -0400
Hi All,
http_://fomintools.com/FominWindowsVersion.zip
Windows version detection in Clarion applications and hand coded projects using MSDN documented Windows API functions.
Windows language agnostic, fast and reliable (I hope).
Freeware. Full source code included.
Ready to run executable also included for your convenience. You are encouraged to test it on various Windows versions.
Bug reports, suggestions, feature requests are welcome.
Enjoy,
-------- Forwarded Message --------
Subject: ANN: Fomin Windows Version 1.0 (Freeware)
Date: 10 Jun 2016 16:55:45 -0400
Hi All,
http_://fomintools.com/FominWindowsVersion.zip
Windows version detection in Clarion applications and hand coded projects using MSDN documented Windows API functions.
Windows language agnostic, fast and reliable (I hope).
Freeware. Full source code included.
Ready to run executable also included for your convenience. You are encouraged to test it on various Windows versions.
Bug reports, suggestions, feature requests are welcome.
Enjoy,
