Ĺadny brzuch
Witam, w jaki sposób z poziomu delphi można stwierdzić czy system operacyjny to vista czy xp?
procedure GetOSVersion; var VersionInfo: TOSVersionInfo; Platform: string; MajorVersion,MinorVersion,Build: DWORD; begin VersionInfo.dwOSVersionInfoSize := SizeOf(VersionInfo); GetVersionEx(VersionInfo); with VersionInfo do begin case dwPlatformId of VER_PLATFORM_WIN32s: Platform := 'Windows 3x'; VER_PLATFORM_WIN32_WINDOWS: Platform := 'Windows 95'; VER_PLATFORM_WIN32_NT: Platform := 'Windows NT'; end; MajorVersion := dwMajorVersion; MinorVersion := dwMinorVersion; Build := dwBuildNumber; end; end;
Major Version dla Xp to 5 dla Visty 6.
Sprawdzony sposób działa bez problemu:
function TojestVista: Boolean; var visfunction: Pointer; begin visfunction := GetProcAddress(GetModuleHandle('KERNEL32.DLL'), 'GetProductInfo'); Result := Assigned(visfunction); end;
Zwraca wartość True dla Visty
False dla innego systemu ;)
Użytkownik bajeczny edytował ten post 01 październik 2008, 20:24
Dzięki chłopaki, przydało się.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
procedure GetOSVersion; var VersionInfo: TOSVersionInfo; Platform: string; MajorVersion,MinorVersion,Build: DWORD; begin VersionInfo.dwOSVersionInfoSize := SizeOf(VersionInfo); GetVersionEx(VersionInfo); with VersionInfo do begin case dwPlatformId of VER_PLATFORM_WIN32s: Platform := 'Windows 3x'; VER_PLATFORM_WIN32_WINDOWS: Platform := 'Windows 95'; VER_PLATFORM_WIN32_NT: Platform := 'Windows NT'; end; MajorVersion := dwMajorVersion; MinorVersion := dwMinorVersion; Build := dwBuildNumber; end; end;
Major Version dla Xp to 5 dla Visty 6.
Sprawdzony sposób działa bez problemu:
function TojestVista: Boolean; var visfunction: Pointer; begin visfunction := GetProcAddress(GetModuleHandle('KERNEL32.DLL'), 'GetProductInfo'); Result := Assigned(visfunction); end;
Zwraca wartość True dla Visty
False dla innego systemu ;)
Użytkownik bajeczny edytował ten post 01 październik 2008, 20:24
Dzięki chłopaki, przydało się.