FreeBasic
Главная
Вход
Регистрация
Вторник, 23.04.2024, 14:56Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум » Freebasic » Вопросы по языку FreeBasic » Ошибки при отладке
Ошибки при отладке
haavДата: Среда, 06.03.2019, 06:01 | Сообщение # 16
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Цитата Uil ()
Так может в лоб определять версию с помощью RtlGetNtVersionNumbers(MajorVersion, MinorVersion, BuildNumber)?


Недокументированная функция? Такую использовать стремно, учитывая что существует бессрочная бета в виде Windows 10. "Крутые паСаны" из мелкософт даже документированные версии аннигилируют (пример GetVersion , GetVersionEX)  , а что уж говорить про эту?

Пока что из документированных , работает этот вариант (по крайней мере на windows 7 и windows 10):


Код
#Include "window9.bi"

#inclib "ntdll"

#ifndef RtlGetVersion

declare function RtlGetVersion stdcall alias "RtlGetVersion" (byval lpVersionInformation as OSVERSIONINFOW ptr) as integer

#endif

dim as OSVERSIONINFOW vi

vi.dwOSVersionInfoSize = sizeof(vi)

RtlGetVersion(@vi)

? vi.dwMajorVersion , vi.dwMinorVersion , vi.dwBuildNumber

sleep


Но вот только надолго ли?

Так же есть вариант обратиться к реестру . Вроде путь HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion на всех версиях винды неизменен.

В моем случае, да это поможет, но вся фигня в том , что куча заголовков зависит от макроса  _WIN32_WINNT.

--------------------------------

SARG объяснил почему на версии 1.05 проблемы с отладчиком. Судя по всему это из-за того, что исполняемый код находится в файле "bi" . В версии 1.06 это исправлено. А вот GDB пофиг где и что находится, он работает.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
Форум » Freebasic » Вопросы по языку FreeBasic » Ошибки при отладке
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: