이미 창조에는 운영체제의 종류를 확인할 수 있는 명령어가 존재 합니다.
[ 문자함수: PlatformID ]
단 반환값이 'Win32s on Windows 3.1', 'Win32 on Windows 95', 'Windows NT'
세 가지로만 출력된다는 단점이 있습니다.
즉, Windows 2000이나 Windows 98, Windows 98SE, Windows XP와 같은 운영체제를 구별할 순 없습니다.
다른 분들은 운영체제를 판가름할때 레지스트리나, 폴더, 파일등을 이용하여 운영체제를 구별할 것입니다.
하지만 예전에 제가 손수 여러 사람들을 대상으로 실험을 통해, 알아낸 결과 값으로.. 창조명령어만 가지고도 운영체제를 구별 할 수 있다는 것을 알게되어 이제서야 공개합니다.
일단 이 강좌가 유용할 것이라고 생각됩니다. 그럼 시작합니다.
먼저 운영체제에 관련된 모든 창조의 명령어를 이용하여 운영체제의 정보를 빼와야 합니다.
이용되는 명령어는 PlatformID, MajorVersion, MinorVersion, BuildNum(이건 사실 필요없음 -_)의 명령어를 사용합니다.
이 네 가지 값만 알아내면 운영체제 종류는 바로 나옵니다.
먼저 PlatformID의 반환값은 'Win32s on Windows 3.1', 'Win32 on Windows 95', 'Windows NT' 라고 했습니다.
하지만 윈도우3.1 사용자는 없다고 봐도 좋으므로, 'Win32 on Windows 95', 'Windows NT' 만 만일문으로 체크해 주면 9X계열의 운영체제인지, NT계열의 운영체제인지 알수가 있습니다.
다음은 MajorVersion, MinorVersion명령인데, 이 두개의 명령은 하나로 붙이는게 더 좋습니다.
왜냐하면 Minor버전 명령어는 Major버전 명령어의 소수점 뒷자리를 표시하기 때문입니다.
(잘 이해가 안가시면 대충 넘어가세요 ^_^ 중요한것이 아니랍니다.)
예를 들면 )
문자: 버전;
버전 := 수를문(MajorVersion) + "." + 수를문(MinorVersion);
위와 같이 하면 됩니다. 윈도우 2000인 저 같은 경우에는 [5.0]이 버전값으로 출력됩니다.
윈도우XP는 5.1 이 버전의 값으로 출력되구요.
이제 대충 아시겠죠?
이제 아래의 운영체제 값을 제가 공개할 것입니다.
윈도우2000 서버나 어드밴스 서버같은 운영체제는 잘 사용하는 사람이 없어 실험이 불가능 하였습니다.
아래 조사한 값으로, 저 위의 명령어로 조건문으로 판가름하면 운영체제의 종류가 바로 나오게 됩니다.
예제 소스도 제공해 드리려고 했으나 삭제해버려서 남아있던 자료가 없더군요.
다시 만들기도 시간이 걸려서.. ( 사실은 귀찮아서 ㅡ,.ㅡ ) ..
창조 하시는 분이라면 대충 만들 수 있을듯 합니다.
[Windows 2000 Professional] Windows NT 5.0 Build 2195
[Windows 98] Win32 on Windows 95 4.10 Build 2222
[Windows 98] Win32 on Windows 95 4.10 Build 1998
[Windows 98 Second Edition] 측정 못함
[Windows Millennium Edition] Win32 on Windows 95 4.90 Build 3000
[Windows XP] Windows NT 5.1 Build 2600 |
|