HardwareKeys Enumeration

Specifies the hardware buttons on a Pocket PC that can be accessed by the HardwareButton class.

Namespace: Microsoft.WindowsCE.Forms
Assembly: Microsoft.WindowsCE.Forms (in microsoft.windowsce.forms.dll)

public enum HardwareKeys
public enum HardwareKeys
public enum HardwareKeys

 Member nameDescription
Supported by the .NET Compact FrameworkApplicationKey1Specifies the hardware button that corresponds to application 1. 
Supported by the .NET Compact FrameworkApplicationKey2Specifies the hardware button that corresponds to application 2. 
Supported by the .NET Compact FrameworkApplicationKey3Specifies the hardware button that corresponds to application 3. 
Supported by the .NET Compact FrameworkApplicationKey4Specifies the hardware button that corresponds to application 4. 
Supported by the .NET Compact FrameworkApplicationKey5Specifies the hardware button that corresponds to application 5. 
Supported by the .NET Compact FrameworkApplicationKey6Specifies the hardware button that corresponds to application 6. 
Supported by the .NET Compact FrameworkNoneSpecifies that no actual hardware buttons are associated with this HardwareButton instance. 

The form or control associated with a member of this enumeration can receive the KeyDownand KeyUp events when the corresponding hardware button is pressed.

This enumeration is not supported and throws a NotSupportedException on the Smartphone and other Windows CE devices that are not Pocket PCs.

The following code example uses the AssociatedControl and HardwareKey properties to display a form whenever the first and fourth buttons on Pocket PC are pressed. This code example is part of a larger example provided for the HardwareButton class.

// Configure hardware buttons
// 1 and 4 to activate the current form.
private void HBConfig()
            hwb1 = new HardwareButton();
            hwb4 = new HardwareButton();
            hwb1.AssociatedControl = this;
            hwb4.AssociatedControl = this;
            hwb1.HardwareKey = HardwareKeys.ApplicationKey1;
            hwb4.HardwareKey = HardwareKeys.ApplicationKey4;
        catch (Exception exc)
            MessageBox.Show(exc.Message + " Check if the hardware button is physically available on this device.");

// When a hardware button is pressed and released,
// this form receives the KeyUp event. The OnKeyUp
// method is used to determine which hardware
// button was pressed, because the event data
// specifies a member of the HardwareKeys enumeration.
private void OnKeyUp(object sender, KeyEventArgs e)
    switch ((HardwareKeys)e.KeyCode)
        case HardwareKeys.ApplicationKey1:
            statusBar1.Text = "Button 1 pressed.";

        case HardwareKeys.ApplicationKey4:
            statusBar1.Text = "Button 4 pressed.";


Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Compact Framework

Supported in: 2.0