DELPHI 7 にて、OS(WIN2000、WIN XP等)を識別する方法をお教え願います

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:nitscape No.1

回答回数526ベストアンサー獲得回数0

ポイント20pt

GetVersionExというAPIを使うと簡単に判別することができます。URLのソースコードが参考になるのではないでしょうか?

id:shochankun

ありがとうございました

2005/11/01 15:41:08
id:aki73ix No.2

回答回数5224ベストアンサー獲得回数27

ポイント20pt

OSVERSIONINFO構造体を使います


osInfo.dwPlatformId が VER_PLATFORM_WIN32_NT なら、NT系、

osInfo.dwMajorVersionとosInfo.dwMinorVersion でOSVersionを取得できます

5,1ならXP

5,0なら2000という具合です


var

  osInfo: OSVERSIONINFO;


begin

  osInfo.dwOSVersionInfoSize:=sizeof(OSVERSIONINFO);

  if GetVersionEx(osInfo) then

    if osInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then

       Edit1.Text:='WinNT'

    else

       Edit1.Text:='Win32';


    Edit1.Text:=Edit1.Text+IntToStr(osInfo.dwMajorVersion)+'.'+IntToStr(osInfo.dwMinorVersion);

end;

id:shochankun

ありがとうございました

2005/11/01 15:41:19
id:cat_kei No.3

回答回数2ベストアンサー獲得回数0

ポイント20pt

http://support.microsoft.com/default.aspx?scid=kb;ja;225013

[INFO] プログラムから Windows のバージョンをチェックする方法

URLはVC++のソースですが、言語仕様による書き方が若干違うだけで、Delphiでもほぼ同じです。

判定基準は以下を参考


■Windows 95

dwPlatformId 400

dwMajorVersion 4

dwMinorVersion 0


■Windows 98

dwPlatformId 400

dwMajorVersion 4

dwMinorVersion 10


■Windows Me

dwPlatformId 400

dwMajorVersion 4

dwMinorVersion 90


■Windows NT 3.51

dwPlatformId 500

dwMajorVersion 3

dwMinorVersion 51


■Windows NT 4.0

dwPlatformId 500

dwMajorVersion 4

dwMinorVersion 0


■Windows 2000

dwPlatformId 500

dwMajorVersion 5

dwMinorVersion 0


■Windows XP

dwPlatformId 500

dwMajorVersion 5

dwMinorVersion 1


■Windows .NET Server

dwPlatformId 500

dwMajorVersion 5

dwMinorVersion 1

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません