| Автор
| Сообщение |
 KVas
Новичок

Возраст: 46
Знак зодиака: 
Зарегистрирован: 26.08.2008
Сообщения: 17
|
|
|
Цитата |
|
При выполнении в пошаговом режиме из Delphi2010 функция не выдает никаких ошибок и все правильно определяет. Если же запускать готовый ехе-файл, почему-то определяет версию винды как 5.1 сборки 2600, хотя реально Windows7. В чем может быть причина?
Текст кода
| delphi: | function WindowsVersion:string; var osVerInfo: TOSVersionInfoEx; POSVI: POSVersionInfo; begin FillChar(osVerInfo, SizeOf(osVerInfo), 0); POSVI := @osVerInfo; Result:='None'; osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); if GetVersionEx(POSVI^) then begin Result:='OS ver.'+IntToStr(osVerInfo.dwMajorVersion)+'.'+ IntToStr(osVerInfo.dwMinorVersion)+ ' build '+IntToStr(osVerInfo.dwBuildNumber); end; end;
|
|
|
| В начало |
|
 |
|
|
 |
 Gelios
Oracle-вый маньяк, Админ

Возраст: 37
Знак зодиака: 
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
|
|
|
Цитата |
|
| delphi: | function IsWindows7: Boolean; var ver: TOSVersionInfo; begin ver.dwOSVersionInfoSize := SizeOf(ver); GetVersionEx(ver); Result := (ver.dwMajorVersion = 6) and (ver.dwMinorVersion = 1); end;
|
_________________ нельзя давать всем всего, ибо всех много, а всего мало |
|
| В начало |
|
 |
|