Provides operating-system specific feature queries.
System.Windows.Forms.FeatureSupport
System.Windows.Forms.OSFeature
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
Public Class OSFeature _ Inherits FeatureSupport
public class OSFeature : FeatureSupport
public ref class OSFeature : public FeatureSupport
type OSFeature = class inherit FeatureSupport end
The OSFeature type exposes the following members.
| Name | Description | |
|---|---|---|
|
OSFeature | Infrastructure. Initializes a new instance of the OSFeature class. |
| Name | Description | |
|---|---|---|
|
Feature | Gets a static instance of the OSFeature class to use for feature queries. This property is read-only. |
| Name | Description | |
|---|---|---|
|
Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
|
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
|
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
|
GetType | Gets the Type of the current instance. (Inherited from Object.) |
|
GetVersionPresent | Retrieves the version of the specified feature currently available on the system. (Overrides FeatureSupport.GetVersionPresent(Object).) |
|
IsPresent(Object) | Determines whether any version of the specified feature is installed in the system. (Inherited from FeatureSupport.) |
|
IsPresent(SystemParameter) | Retrieves a value indicating whether the operating system supports the specified feature or metric. |
|
IsPresent(Object, Version) | Determines whether the specified or newer version of the specified feature is installed in the system. (Inherited from FeatureSupport.) |
|
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
|
ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
|
LayeredWindows | Represents the layered, top-level windows feature. This field is read-only. |
|
Themes | Represents the operating system themes feature. This field is read-only. |
Use the static instance of this class provided in the Feature property to query for operating system features. You cannot create an instance of this class.
To determine the version of a feature, call the GetVersionPresent method. To determine if a feature or a specific version is present, call the IsPresent method and specify the feature to look for with the feature identifiers provided in this class.
The following example uses OSFeature to query the operating system to determine if the LayeredWindows feature is installed. The example presents two different ways of checking to see whether the feature is present. In the first method, myVersion is checked to see if it is null. If the version is null, the feature is not installed. In the second method, the example calls the base class method IsPresent to see if the feature is installed. The results are displayed in a text box.
This code assumes textBox1 has been created and placed on a form.
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 (myVersion IsNot 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." ); } }
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supported in: 4, 3.5 SP1Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.