�@

.NET TIPS

Windows OS�̎�ނ�o�[�W�����𔻕ʂ���ɂ́H

�f�W�^���A�h�o���e�[�W
2004/04/16

�@�������o�[�W������Windows�ɓ��L�ȋ@�\�i�Ⴆ��Windows XP��CD�������݋@�\�Ȃǁj���A�v���P�[�V�������痘�p�������ꍇ�A�v���O�����ł͂܂�Windows OS�̃o�[�W�������擾���A���̃o�[�W�������Ƃɏ����𕪊򂳂���K�v������B���̂悤�ȂƂ��́AOperatingSystem�N���X�iSystem���O��ԁj���g����Windows OS�̃o�[�W�������ȒP�ɔ��ʂł���B

Windows OS�̎�ނ𔻕ʂ���ɂ́H

�@OperatingSystem�N���X���g����Windows OS�𔻕ʂ���ɂ́A�܂�Environment�N���X�iSystem���O��ԁj��OSVersion�v���p�e�B����OperatingSystem�I�u�W�F�N�g���擾����B���̃I�u�W�F�N�g��Platform�v���p�e�B�AVersion.Major�v���p�e�B�AVersion.Minor�v���p�e�B�̒l�̑g�ݍ��킹����OS����肷�邱�Ƃ��ł���B�Ȃ��APlatform�v���p�e�B��PlatformID�񋓑́iSystem���O��ԁj�Œ�`���ꂽ�l�ŁAVersion.Major�v���p�e�B��Version.Minor�v���p�e�B�͐����l�ł���B

�@����3�‚̃v���p�e�B�̒l�̑g�ݍ��킹��Windows OS�̑Ή��֌W�����̕\�ɂ܂Ƃ߂��B

Platform�v���p�e�B
PlatformID.Win32Windows
PlatformID.Win32NT
Version.Major�v���p�e�B
4
4
5
Version.Minor�v���p�e�B
0
10
90
0
0
1
2
Windows
95��
98
Me
NT 4.0
2000
XP
2003
Windows OS�̔��ʕ\
�����ɋ����Ă�����̂��A���ׂĂ̑g�ݍ��킹�ł͂Ȃ��B���ڂ����̓��t�@�����X�E�}�j���A�����Q�Ƃ��Ă������������B
��.NET Framework �́AWindows 95��ł͓��삵�Ȃ��̂Ŏ��ۂɂ͂��̑g�ݍ��킹�͂��蓾�Ȃ��B

�@�����̑g�ݍ��킹���g����Windows OS�̎�ނ𔻕ʂ���T���v���E�v���O���������Ɏ����B

// �A�v���P�[�V�����̃G���g���E�|�C���g
[STAThread]
static void Main(string[] args)
{
  // OS�̏����擾
  OperatingSystem osInfo = Environment.OSVersion;

  string windowsName = "�s��";  // Windows��

  switch (osInfo.Platform)
  {
    case PlatformID.Win32Windows:  // Windows 9x�n
      if (osInfo.Version.Major == 4)
      {
        switch (osInfo.Version.Minor)
        {
          case 0:  // Win95�́A.NET Framework�̃T�|�[�gOS�ł͂Ȃ�
            windowsName = "Windows 95";
            break;
          case 10:
            windowsName = "Windows 98";
            break;
          case 90:
            windowsName = "Windows Me";
            break;
        }
      }
      break;

    case PlatformID.Win32NT:  // Windows NT�n

      if (osInfo.Version.Major == 4)
      {
        windowsName = "Windows NT 4.0";
      }
      else if (osInfo.Version.Major == 5)
      {
        switch (osInfo.Version.Minor)
        {
          case 0:
            windowsName = "Windows 2000";
            break;

          case 1:
            windowsName = "Windows XP";
            break;

          case 2:
            windowsName = "Windows Server 2003";
            break;
        }
      }
      break;
  }

  // �V�X�e�������o��
  Console.WriteLine(
    "{0} (Platform {1} Version {2}.{3} Build {4})",
    windowsName,
    osInfo.Platform,
    osInfo.Version.Major,
    osInfo.Version.Minor,
    osInfo.Version.Build);
}
Windows OS�̎�ނ��擾����T���v���E�R�[�h�iC#�j
�T���v���E�v���O�����iC#�Fwinver1.cs�j�̃_�E�����[�h
�@
Sub Main()

  ' OS�̏����擾
  Dim osInfo As OperatingSystem = Environment.OSVersion

  Dim windowsName As String = "�s��"   ' Windows��

  Select Case osInfo.Platform
    Case PlatformID.Win32Windows  ' Windows 9x�n
      If osInfo.Version.Major = 4 Then
        Select Case osInfo.Version.Minor
          Case 0  ' Win95�́A.NET Framework�̃T�|�[�gOS�ł͂Ȃ�
            windowsName = "Windows 95"
          Case 10
            windowsName = "Windows 98"
          Case 90
            windowsName = "Windows Me"
        End Select
      End If


    Case PlatformID.Win32NT  ' Windows NT�n

      If osInfo.Version.Major = 4 Then
        windowsName = "Windows NT 4.0"
      ElseIf osInfo.Version.Major = 5 Then
        Select Case osInfo.Version.Minor
          Case 0
            windowsName = "Windows 2000"
          Case 1
            windowsName = "Windows XP"
          Case 2
            windowsName = "Windows Server 2003"
        End Select
      End If
  End Select

  ' �V�X�e�������o��
  Console.WriteLine( _
    "{0} (Platform {1} Version {2}.{3} Build {4})", _
    windowsName, _
    osInfo.Platform, _
    osInfo.Version.Major, _
    osInfo.Version.Minor, _
    osInfo.Version.Build)

End Sub
Windows OS�̎�ނ��擾����T���v���E�R�[�h�iVB.NET�j
�T���v���E�v���O�����iVB.NET�Fwinver1.vb�j�̃_�E�����[�h

�@�M�҂̊‹��iWindows XP SP1�j�ł�����R�}���h�E�v�����v�g������s����ƁA

Windows XP (Platform Win32NT Version 5.1 Build 2600)

�Əo�͂��ꂽ�B

���ڂ���Windows OS�̃o�[�W�����𒲂ׂ�ɂ́H

�@�ȏ�̕��@���g���΁A�����悻��Windows OS�̎�ނ��擾�ł���̂ŁA�����̏ꍇ�͂���Ŏ�����邾�낤�B�������A����������Əڂ����o�[�W���������擾�������ꍇ�����邾�낤�B�Ⴆ�΁AWindows XP Home Edition��Windows XP Professional�ŃA�v���P�[�V�����̓����؂�ւ������ꍇ�ł́AWindows XP�ł��邱�Ƃ𔻕ʂ��邾���ł͕s�\�����B

�@���ڂ���Windows OS�̃o�[�W�������擾����ɂ́AWin32 API��GetVersionEx�֐����g���K�v������BGetVersionEx�֐����g���΁AWindows XP Home Edition��Professional�̈Ⴂ�����łȂ��AWindows NT 4.0 Professional�^Server�̈Ⴂ�AWindows 2000 Professional�^Server�^Advanced Server�̈Ⴂ�AWindows Server 2003, Standard Edition�^Enterprise Edition�^Web Edition�̈Ⴂ�AWindows 98�^Windows 98 Second Edition�̈Ⴂ*1�A�K�p����Ă���T�[�r�X�p�b�N�̎�ނȂǂ𔻕ʂł���悤�ɂȂ�B

*1 �}�C�N���\�t�g�̃T�|�[�g�Z�p����ł́AOperatingSystem�I�u�W�F�N�g��Version.Revision�v���p�e�B�̒l�𕶎���ɕϊ����āg2222A�h�Ɣ�r���A����𔻕ʂ��Ă��邪�AVersion.Revision�v���p�e�B�͐����^�ł���A���̕��@�͖��炩�ɊԈႢ�ł���B

�@���̃T���v���E�v���O�����̃_�E�����[�h�͈ȉ��̂Ƃ��肾�B

���ڍׂ�Windows OS�̃o�[�W�������擾����T���v���E�v���O����

  • �T���v���E�v���O�����iC#�Fwinver2.cs�j�̃_�E�����[�h
  • �T���v���E�v���O�����iVB.NET�Fwinver2.vb�j�̃_�E�����[�h

�@�Ȃ��AWindows NT 4.0��Service Pack 6�iSP6�j���O�̃o�[�W�����ł́AGetVersionEx�֐��ł͎擾�ł��Ȃ���񂪂���̂ŁA����ɂ‚��Ă̓��W�X�g�����璼�ځA�擾���Ă���B

�@�M�҂̊‹��ŃR�}���h�E�v�����v���炱�̃T���v���E�v���O���������s����ƁA

Windows XP Professional (Platform Win32NT Version 5.1 Build 2600) Service Pack 1

�Əo�͂��ꂽ�BEnd of Article

�J�e�S���F�N���X�E���C�u�����@�����ΏہFWindows�‹�
�g�p���C�u�����FOperatingSystem�N���X�iSystem���O��ԁj
�g�p���C�u�����FEnvironment�N���X�iSystem���O��ԁj
�g�p���C�u�����FPlatformID�񋓑́iSystem���O��ԁj
�@
���̋L���Ɗ֘A���̍����ʂ�.NET TIPS
Windows OS�̃G�f�B�V�����܂ōׂ������ʂ���ɂ́H�yVista�Ή��z
Windows OS�̃o�[�W�����𔻕ʂ���ɂ́H�yVista�Ή��z
Windows�t�H���_�̃p�X��h���C�u�����擾����ɂ́H
�o�[�W�������_�C�A���O���쐬����ɂ́H
Windows�A�v���P�[�V������Windows XP�X�^�C���̊O�ςɂ���ɂ́H
���̃��X�g�́A�i���j�f�W�^���A�h�o���e�[�W���J������
�����֘A�L���T���V�X�e�� Jigsaw�i�W�O�\�[�j �ɂ�莩�����o�������̂ł��B
generated by

�u.NET TIPS�v


Insider.NET �t�H�[���� �V���L��
  • ��2��@�Ȍ��ȃR�[�f�B���O�̂��߂� �i2017/7/26�j
    �@�����_���ŋL�q�ł��郁���o�̑����Athrow���Aout�ϐ��A�^�v���ȂǁAC# 7�ɂ͈ȑO�����R�[�h���Ȍ��ɋL�q�ł���悤�ȋ@�\����������Ă���
  • ��1��@Visual Studio Code�f�o�b�O�̊�b�m�� �i2017/7/21�j
    �@Node.js�v���O�������f�o�b�O���Ȃ���AVisual Studio Code�ɓ�������Ă���f�o�b�O�@�\�̊�{�́u�L�v���}�X�^�[���悤
  • ��1��@���ĂȃR�[�f�B���O�̂��߂� �i2017/7/19�j
    �@C# 7�Œlj����ꂽ�V�@�\�̒�����A�u���l���e�����\���̉��P�v�Ɓu���[�J���֐��v���Љ��B�����͕�����₷���R�[�h���L�q����̂Ɏg����
  • Presentation Translator �i2017/7/18�j
    �@Presentation Translator��PowerPoint�p�̃A�h�C���B�v���[���e�[�V�������̎����̕t����A������ł̎��^�����A�X���C�h�̖|����s����
��IT���[���}�K�W���@�V������X�^�b�t�̃R���������[���œ͂��܂��i�����j

���ڂ̃e�[�}

Insider.NET �L�������L���O

�{�� ����