안녕하세요...
질문인즉 제목그대로 OS 이름 알아내는겁니다.
OS 버젼 알아내는건 팁에 있는데 이름알아내는건 없네요..
지가 원하는결과는 OS 가 Windows 95, Windows 98, Windows XP, Windows 2000 등등 이런 이름을 가지고 오고 싶은데..잘 안되네요..
아시는 분은 리플 부탁드립니다..
그럼 항상 즐코하시고 더위 먹지 않게 조심들 하셔욤....^^;;
저는 델파이 7.0을 쓰고 있는데요...
자료실에 가보면 API에 관한 자료가 있음다..
그거 참고하고 웹에서 찾은 자료임다..
도움이 되었으면 하네요....
이건 제가 테스트해본건데 ... 틀린부분있으면 답변 주세요 ...
그럼...
procedure TForm1.Button3Click(Sender: TObject);
var
MyVerInfo: TOSVersionInfo; // holds version information
begin
{set the size member of the TOSVersionInfo structure}
MyVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
{retrieve the operating system version information}
GetVersionEx(MyVerInfo);
{display the operating system version information}
Panel1.Caption := IntToStr(MyVerInfo.dwMajorVersion);
Panel2.Caption := IntToStr(MyVerInfo.dwMinorVersion);
Panel3.Caption := IntToStr(MyVerInfo.dwBuildNumber);
case MyVerInfo.dwPlatformId of
VER_PLATFORM_WIN32s: Panel4.Caption := 'Win 32s under Windows 3.1';
VER_PLATFORM_WIN32_WINDOWS: Panel4.Caption := 'Windows 95';
VER_PLATFORM_WIN32_NT: Panel4.Caption := 'Windows NT';
end;
{
Win XP
- dwPlatformId = VER_PLATFORM_WIN32_NT and
dwMajorVersion = 5 and
dwMinorVersion = 1
.Net Server
- dwPlatformId = VER_PLATFORM_WIN32_NT and
dwMajorVersion = 5 and
dwMinorVersion = 2
win 2000
- dwPlatformId = VER_PLATFORM_WIN32_NT and
dwMajorVersion = 5
Win Me
- dwPlatformId = VER_PLATFORM_WIN32_WINDOWS and
dwMajorVersion = 4 and
dwMinorVersion = 90
Win 98
- dwPlatformId = VER_PLATFORM_WIN32_WINDOWS and
dwMajorVersion = 4 and
dwMinorVersion = 10
Win 95
- dwPlatformId = VER_PLATFORM_WIN32_WINDOWS and
dwMinorVersion = 0
Win NT
- dwPlatformId = VER_PLATFORM_WIN32_NT and
dwMajorVersion <= 4
}
o distinguish between operating system platforms, use the high order bit and the low order byte, as shown in the following table:
Platform High order bit Low order byte (major version number)
Windows NT zero 3 or 4
Windows 95 1 4
Win32s with Windows 3.1 1 3
For Windows NT and Win32s, the remaining bits in the high order word specify the build number.
For Windows 95 the remaining bits of the high order word are reserved.
환경 : 델파이 6.0 안녕하세요... 질문인즉 제목그대로 OS 이름 알아내는겁니다. OS 버젼 알아내는건 팁에 있는데 이름알아내는건 없네요.. 지가 원하는결과는 OS 가 Windows 95, Windows 98, Windows XP, Windows 2000 등등 이런 이름을 ...
이윤오
•
2003.05.14 20:01
저는 델파이 7.0을 쓰고 있는데요...
자료실에 가보면 API에 관한 자료가 있음다..
그거 참고하고 웹에...
이희정
•
2003.05.13 03:20
API 함수중에 GetVersion 이런 게 있답니다.
help 보시면
o distinguish between operating system p...
자료실에 가보면 API에 관한 자료가 있음다..
그거 참고하고 웹에서 찾은 자료임다..
도움이 되었으면 하네요....
이건 제가 테스트해본건데 ... 틀린부분있으면 답변 주세요 ...
그럼...
procedure TForm1.Button3Click(Sender: TObject);
var
MyVerInfo: TOSVersionInfo; // holds version information
begin
{set the size member of the TOSVersionInfo structure}
MyVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
{retrieve the operating system version information}
GetVersionEx(MyVerInfo);
{display the operating system version information}
Panel1.Caption := IntToStr(MyVerInfo.dwMajorVersion);
Panel2.Caption := IntToStr(MyVerInfo.dwMinorVersion);
Panel3.Caption := IntToStr(MyVerInfo.dwBuildNumber);
case MyVerInfo.dwPlatformId of
VER_PLATFORM_WIN32s: Panel4.Caption := 'Win 32s under Windows 3.1';
VER_PLATFORM_WIN32_WINDOWS: Panel4.Caption := 'Windows 95';
VER_PLATFORM_WIN32_NT: Panel4.Caption := 'Windows NT';
end;
{
Win XP
- dwPlatformId = VER_PLATFORM_WIN32_NT and
dwMajorVersion = 5 and
dwMinorVersion = 1
.Net Server
- dwPlatformId = VER_PLATFORM_WIN32_NT and
dwMajorVersion = 5 and
dwMinorVersion = 2
win 2000
- dwPlatformId = VER_PLATFORM_WIN32_NT and
dwMajorVersion = 5
Win Me
- dwPlatformId = VER_PLATFORM_WIN32_WINDOWS and
dwMajorVersion = 4 and
dwMinorVersion = 90
Win 98
- dwPlatformId = VER_PLATFORM_WIN32_WINDOWS and
dwMajorVersion = 4 and
dwMinorVersion = 10
Win 95
- dwPlatformId = VER_PLATFORM_WIN32_WINDOWS and
dwMinorVersion = 0
Win NT
- dwPlatformId = VER_PLATFORM_WIN32_NT and
dwMajorVersion <= 4
}
end;