윈도우 버전 구하는 함수
델파이2008. 5. 21. 15:57
type TWinVersion = (wvUnknown, wvWin95, wvWin98, wvWin98SE, wvWinNT, wvWinME, wvWin2000, wvWinXP, wvWinVista);
...
function GetWinVersion: TWinVersion;
var
osVerInfo: TOSVersionInfo;
majorVersion, minorVersion: Integer;
begin
Result := wvUnknown;
osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo) ;
if GetVersionEx(osVerInfo) then
begin
minorVersion := osVerInfo.dwMinorVersion;
majorVersion := osVerInfo.dwMajorVersion;
case osVerInfo.dwPlatformId of
VER_PLATFORM_WIN32_NT:
begin
if majorVersion <= 4 then
Result := wvWinNT
else if (majorVersion = 5) and (minorVersion = 0) then
Result := wvWin2000
else if (majorVersion = 5) and (minorVersion = 1) then
Result := wvWinXP
else if (majorVersion = 6) then
Result := wvWinVista;
end;
VER_PLATFORM_WIN32_WINDOWS:
begin
if (majorVersion = 4) and (minorVersion = 0) then
Result := wvWin95
else if (majorVersion = 4) and (minorVersion = 10) then
begin
if osVerInfo.szCSDVersion[1] = 'A' then
Result := wvWin98SE
else
Result := wvWin98;
end
else if (majorVersion = 4) and (minorVersion = 90) then
Result := wvWinME
else
Result := wvUnknown;
end;
end;
end;
end;
출처 : http://delphi.about.com/cs/adptips2000/a/bltip1100_2.htm
...
function GetWinVersion: TWinVersion;
var
osVerInfo: TOSVersionInfo;
majorVersion, minorVersion: Integer;
begin
Result := wvUnknown;
osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo) ;
if GetVersionEx(osVerInfo) then
begin
minorVersion := osVerInfo.dwMinorVersion;
majorVersion := osVerInfo.dwMajorVersion;
case osVerInfo.dwPlatformId of
VER_PLATFORM_WIN32_NT:
begin
if majorVersion <= 4 then
Result := wvWinNT
else if (majorVersion = 5) and (minorVersion = 0) then
Result := wvWin2000
else if (majorVersion = 5) and (minorVersion = 1) then
Result := wvWinXP
else if (majorVersion = 6) then
Result := wvWinVista;
end;
VER_PLATFORM_WIN32_WINDOWS:
begin
if (majorVersion = 4) and (minorVersion = 0) then
Result := wvWin95
else if (majorVersion = 4) and (minorVersion = 10) then
begin
if osVerInfo.szCSDVersion[1] = 'A' then
Result := wvWin98SE
else
Result := wvWin98;
end
else if (majorVersion = 4) and (minorVersion = 90) then
Result := wvWinME
else
Result := wvUnknown;
end;
end;
end;
end;
출처 : http://delphi.about.com/cs/adptips2000/a/bltip1100_2.htm
'델파이' 카테고리의 다른 글
Delphi 2007에서 DSPack 설치하기 (0) | 2008.09.24 |
---|---|
Internet Explorer7 에서 현재 활성화 되있는 탭윈도우 핸들 얻기 (0) | 2008.08.28 |
Delphi로 ActiveX 제작시 DAX 에러나는 문제 해결법 (0) | 2008.08.07 |
인터넷에서 파일 다운로드 하기 (0) | 2008.07.17 |
ActiveX에서 IWebBrowser2(브라우저 포인터) 얻기 (0) | 2008.07.16 |
URL 인코딩(Encoding) 함수 (0) | 2008.06.25 |
문자열을 MD5로 변환하는 유닛 (0) | 2008.06.09 |
문자가 한글이지 확인하는 법 (0) | 2008.05.28 |
작업표시줄(Taskbar)에서 프로그램 탭(?) 숨기기 (0) | 2008.05.23 |
에디트(TEdit)나 콤보박스(TComboBox, TComboBoxEx)에서 자동완성 기능 넣기 (0) | 2008.05.21 |