![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Major/Minor OS Version
harisma © (2009-11-13 18:44:00)Для 32 битных систем в дельфе есть 2 метода, чтоб получить информацию о ОС: Win32MajorVersion и Win32MinorVersion. А какие методы существуют для той же цели в x64 OC?
DVM (2009-11-20 19:51:00) [1]
> ms (20.11.09 17:29) [12]
> у меня с реестра берет проблем нет. кому это надо заменять
> записи.
MS сама поменяет и всего делов. Вот раньше говорила MS не надо писать в Program Files, но писать было можно, потом вышла виста и все поняли, что надо было слушать MS.
ms (2009-11-20 17:29:00) [2]у меня с реестра берет проблем нет. кому это надо заменять записи. или для какой-то супер безопасности пишите софт.
DVM (2009-11-16 12:31:00) [3]
> Демо © (16.11.09 11:42) [9]
> Вроде бы на примере расписано...
>
> http://msdn.microsoft.com/en-us/library/ms724429(VS.85).
> aspx
Я о нем и говорил.
Хотя пример уже обновили смотрю.
Дмитрий Белькевич (2009-11-16 11:50:00) [4]>либо пашет только на ХР, на висте определяет как ХР.
Странно. Ни разу не видел. Ну если только совместимость включена. Ну так - на то она и совместимость.
Демо (2009-11-16 11:42:00) [5]Вроде бы на примере расписано...
http://msdn.microsoft.com/en-us/library/ms724429(VS.85).aspx
DVM (2009-11-16 11:13:00) [6]
> Anatoly Podgoretsky © (16.11.09 09:21) [7]
> Исчерпывающая и лостоверная информация только в MSDN
Это не совсем так. Конечно в MSDN описаны все функции, но не описаны приемы. В MSDN есть лишь один пример определения версии да и то неполный и устаревший.
Anatoly Podgoretsky (2009-11-16 09:21:00) [7]> DVM (13.11.2009 23:19:05) [5]
Исчерпывающая и лостоверная информация только в MSDN
вот точка входа и далее по ссылкам
http://msdn.microsoft.com/en-us/library/ms724451(VS.85).aspx
(2009-11-15 02:59:00) [8]Удалено модератором
DVM (2009-11-13 23:19:00) [9]
> Win32MajorVersion и Win32MinorVersion
>
> бывает не срабатываю по большенству примеров в рунете!
Вероятно дело то не в этих константах, а в их неправильном применении. Эти константы содержат лишь значения которые возвращает GetVersion().
Для точного определения версии этих констант недостаточно в ряде случаев, требуется привлечение функций GetVersionEx(), GetProductInfo(), GetNativeSystemInfo(), GetSystemMetrics() и некоторых других.
Определять версию через реестр MS не рекомендует, т.к. не гарантирует, что содержимое и местоположение ключа в реестре будет неизменным.
Вот здесь приведена исчерпывающая информация по правильному получению версии, там же готовый модуль http://www.delphidabbler.com/articles?article=23
ms (2009-11-13 21:56:00) [10]Win32MajorVersion и Win32MinorVersion
бывает не срабатываю по большенству примеров в рунете!
либо пашет только на ХР, на висте определяет как ХР.. вот я и говорю, второй вариант - реестр, там более подробная инфа об ОС в полной версией.
DVM (2009-11-13 20:04:00) [11]
> А какие методы существуют для той же цели в x64 OC?
методы те же самые.
DVM (2009-11-13 20:03:00) [12]
> советую хапать информацию из реестра, например.
А я не советую.
> if OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then
Это неверно, т.к. условие выполняется и под x64 системами
ms (2009-11-13 19:12:00) [13]Так же, только проверка
if OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN 32_NT then
советую хапать информацию из реестра, например.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion