Определение работы под Windows XP

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Привет!

В Clarion-6 есть так называемый XP-manifest. Если он включён, то при работе приложения под XP его контролы (кнопки, чекбоксы, скроллбары, радиокнопки, кнопки управления окном и др.) выглядят в стиле XP, а под другой версией Windows - обычным образом.

Как можно узнать, задействован ли он (манифест) в данный момент работы приложения? Или, иными словами, как узнать, работаем ли под XP или под чем иным?

C6-ABC.
Написал: Капитан(67)
Гость

Сообщение Гость »

Код: Выделить всё

! системный stuff
Type:OSVERSIONINFO     GROUP,Pre(),Type
dwOSVersionInfoSize       ULONG
dwMajorVersion            ULONG
dwMinorVersion            ULONG
dwBuildNumber             ULONG
dwPlatformId              ULONG
szCSDVersion              CSTRING(128)
                        END
  MODULE('WIN32')
    GetVersionEx(signed),signed,pascal,name('GetVersionExA')
  END

....

osvi                    LIKE(Type:OSVERSIONINFO)

...

  osvi.dwOSVersionInfoSize = SIZE(osvi)
  i#=GetVersionEx(ADDRESS(osvi))
  IF (~i# OR osvi.dwPlatformId<>VER_PLATFORM_WIN32_NT)
   ErrorBox('Для работы программы необходима платформа NT (Windows NT/2000/XP)!')
  ELSE
   Main
  END
Осталось узнать у имеющих более свежий MSVC major номер версии XP (у меня 6.0, поэтому сообщить не смогу).

--
Best regards,
Maxim Yemelyanov,
Enigma Soft Company
phone: +380 572 177977
WEB: http://enigmasoft.com.ua
e-mail: clalist@enigmasoft.com.ua
ICQ: 12253836

Написал: ClaList(2)
Гость

Сообщение Гость »

Спасибо, попробую.
Написал: Капитан(67)
Гость

Сообщение Гость »

Ага, всё работает. У XP версия 5.1, у 2000 - 5.0
Написал: Капитан(67)
Гость

Сообщение Гость »

Оказывается, всё ещё проще. В Clarion6 есть такой проп - SYSTEM{PROP:WindowsVersion}

Возвращает (у меня) - 'Windows XP Home Edition Service Pack 1 Build 2600'

RTFM рулит! :-)
Написал: Капитан(67)
Ответить