Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Использование GetVersionExA / 2 сообщений из 2, страница 1 из 1
26.12.2010, 19:17
    #37036099
Корнелий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование GetVersionExA
Коллеги,

кто-нибудь использовал в скриптах PB API-функцию GetVersionExA (параметры операционки).
Можете дать работающий примерчик.

Вроде создал структуру, для переменной, в эту функцию передаваемую,

global type osinfo from structure
long l_osversioninfosize
long l_majorversion
long l_minorversion
long l_buildnumber
long l_platformid
string s_csdversion
end type

объявил внешнюю функцию,

Function long GetVersionExA (osinfo OSInformation) library "KERNEL32.DLL"

а при вызове

osinfo lstr_osinfo
long ll_ret
//lstr_osinfo.s_csdversion= Space(128)
ll_ret = GetVersionExA ( lstr_osinfo )

функция возвращает 0 и переменные в структуре не заполняются
...
Рейтинг: 0 / 0
26.12.2010, 19:56
    #37036149
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование GetVersionExA
1) перед вызовом заполнить l_osversioninfosize размером структуры: 148 (для PB9 и ниже) или 276 (для PB10 и выше)
2) Для PB9 и ниже вызывать GetVersionExA, для PB10 и выше - GetVersionExW
3) s_csdversion неверно объявлен. Правильно так: char s_csdversion[128]
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Использование GetVersionExA / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]