다음을 통해 공유


OSFeature 클래스

운영 체제별 기능 쿼리를 제공합니다.

네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)

구문

‘선언
Public Class OSFeature
    Inherits FeatureSupport
‘사용 방법
Dim instance As OSFeature
public class OSFeature : FeatureSupport
public ref class OSFeature : public FeatureSupport
public class OSFeature extends FeatureSupport
public class OSFeature extends FeatureSupport

설명

운영 체제의 기능에 대해 쿼리하려면 Feature 속성에 제공된 이 클래스의 static 인스턴스를 사용합니다. 이 클래스의 인스턴스는 만들 수 없습니다.

기능의 버전을 확인하려면 GetVersionPresent 메서드를 호출합니다. 기능 또는 특정 버전이 있는지 여부를 확인하려면 IsPresent 메서드를 호출하고 이 클래스에 있는 기능 식별자를 사용하여 찾으려는 기능을 지정합니다.

예제

다음 예제에서는 운영 체제를 쿼리하기 위해 OSFeature를 사용하여 LayeredWindows 기능이 설치되어 있는지 여부를 확인합니다. 이 예제에서는 기능이 있는지 여부를 확인하는 두 가지 방법을 보여 줍니다. 첫 번째 메서드에서 myVersion이 Null 참조(Visual Basic의 경우 Nothing)인지 여부를 확인합니다. 버전이 Null 참조(Visual Basic의 경우 Nothing)이면 해당 기능이 설치되지 않은 것입니다. 두 번째 메서드에서는 기본 클래스 메서드 IsPresent를 호출하여 헤딩 기능이 설치되어 있는지 확인합니다. 결과가 텍스트 상자에 표시됩니다.

이 코드에서는 textBox1이 만들어진 후 폼에 배치되었다고 가정합니다.

Private Sub LayeredWindows()
    ' Gets the version of the layered windows feature.
    Dim myVersion As Version = _
       OSFeature.Feature.GetVersionPresent(OSFeature.LayeredWindows)
       
    ' Prints whether the feature is available.
    If Not (myVersion Is Nothing) Then
        textBox1.Text = "Layered windows feature is installed." & _
           ControlChars.CrLf
    Else
        textBox1.Text = "Layered windows feature is not installed." & _
           ControlChars.CrLf
    End If 
    'This is an alternate way to check whether a feature is present.
    If OSFeature.Feature.IsPresent(OSFeature.LayeredWindows) Then
        textBox1.Text &= "Again, layered windows feature is installed."
    Else
        textBox1.Text &= "Again, layered windows feature is not installed."
    End If
End Sub
private void LayeredWindows() {
   // Gets the version of the layered windows feature.
   Version myVersion = OSFeature.Feature.GetVersionPresent(OSFeature.LayeredWindows);

   // Prints whether the feature is available.
   if (myVersion != null)
      textBox1.Text = "Layered windows feature is installed." + '\n';
   else
      textBox1.Text = "Layered windows feature is not installed." + '\n';

   // This is an alternate way to check whether a feature is present.
   if (OSFeature.Feature.IsPresent(OSFeature.LayeredWindows))
      textBox1.Text += "Again, layered windows feature is installed.";
   else
      textBox1.Text += "Again, layered windows feature is not installed.";
}
private:
   void LayeredWindows()
   {
      // Gets the version of the layered windows feature.
      Version^ myVersion = OSFeature::Feature->GetVersionPresent(
         OSFeature::LayeredWindows );
      
      // Prints whether the feature is available.
      if ( myVersion != nullptr )
      {
         textBox1->Text = "Layered windows feature is installed.\n";
      }
      else
      {
         textBox1->Text = "Layered windows feature is not installed.\n";
      }

      
      // This is an alternate way to check whether a feature is present.
      if ( OSFeature::Feature->IsPresent( OSFeature::LayeredWindows ) )
      {
         textBox1->Text = String::Concat( textBox1->Text,
            "Again, layered windows feature is installed." );
      }
      else
      {
         textBox1->Text = String::Concat( textBox1->Text,
            "Again, layered windows feature is not installed." );
      }
   }
private void LayeredWindows()
{
    // Gets the version of the layered windows feature.
    Version myVersion = OSFeature.get_Feature().GetVersionPresent
        (OSFeature.LayeredWindows);

    // Prints whether the feature is available.
    if (myVersion != null) {
        textBox1.set_Text("Layered windows feature is installed." 
            + '\n');
    }
    else {
        textBox1.set_Text("Layered windows feature is not installed." 
            + '\n');
    }

    // This is an alternate way to check whether a feature is present.
    if (OSFeature.get_Feature().IsPresent(OSFeature.LayeredWindows)) {
        textBox1.set_Text(textBox1.get_Text()
            + "Again, layered windows feature is installed.");
    }
    else {
        textBox1.set_Text(textBox1.get_Text() 
            + "Again, layered windows feature is not installed.");
    }
} //LayeredWindows 

상속 계층 구조

System.Object
   System.Windows.Forms.FeatureSupport
    System.Windows.Forms.OSFeature

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

OSFeature 멤버
System.Windows.Forms 네임스페이스
System.AppDomain
Application 클래스
System.Environment
SystemInformation