人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: shochankun
●カテゴリ:コンピュータ
✍キーワード:Delphi OS WIN XP
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● nitscape
●20ポイント

http://www.swissdelphicenter.ch/torry/showcode.php?id=316

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

◎質問者からの返答

ありがとうございました


2 ● aki73ix
●20ポイント

http://yokohama.cool.ne.jp/chokuto/urawaza/struct/OSVERSIONINFO....

OSVERSIONINFO

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;

◎質問者からの返答

ありがとうございました


3 ● cat_kei
●20ポイント

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ