Freigeben über


WEKF_CustomKey.Add

Unterstützte Editionen
✅ IoT Enterprise LTSC
✅ IoT Enterprise
✅ Enterprise LTSC
✅ Enterprise
✅ Education

Erstellt eine neue benutzerdefinierte Tastenkombination und aktiviert den Tastaturfilter, um die neue Tastenkombination zu blockieren.

Syntax

[Static] uint32 Add(
    [In] string CustomKey
);

Parameter

CustomKey
[in] Die hinzuzufügende benutzerdefinierte Tastenkombination. Eine Liste der gültigen Schlüsselnamen finden Sie unter Tastaturfilter-Tastennamen.

Rückgabewert

Gibt einen HRESULT-Wert zurück, der eine WMI-Non-Error-Konstante oder eine WMI-Fehlerkonstante angibt.

Hinweise

WEKF_CustomKey.Add erstellt ein neues WEKF_CustomKey-Objekt und legt die Enabled-Eigenschaft des neuen Objekts auf true und die Id-Eigenschaft auf CustomKey fest.

Wenn bereits ein WEKF_CustomKey Objekt mit der Id-Eigenschaft auf CustomKey vorhanden ist, gibt WEKF_CustomKey.Add einen Fehlercode zurück und erstellt kein neues Objekt oder ändert keine Eigenschaften des vorhandenen Objekts. Wenn für das vorhandene WEKF_CustomKey-Objekt die Enabled-Eigenschaft auf false festgelegt ist, blockiert tastaturfilter die benutzerdefinierte Tastenkombination nicht.

Beispiel

Der folgende Code veranschaulicht das Hinzufügen oder Aktivieren einer benutzerdefinierten Taste, die der Tastaturfilter mithilfe der WMI-Anbieter (Windows Management Instrumentation) für den Tastaturfilter blockiert.

$COMPUTER = "localhost"
$NAMESPACE = "root\standardcimv2\embedded"

# Create a handle to the class instance so we can call the static methods
$classCustomKey = [wmiclass]"\\$COMPUTER\${NAMESPACE}:WEKF_CustomKey"

# Create a function to add or enable a key combination for Keyboard Filter to block
function Enable-Custom-Key($KeyId) {

# Check to see if the custom key object already exists
    $objCustomKey = Get-WMIObject -namespace $NAMESPACE -class WEKF_CustomKey |
            where {$_.Id -eq "$KeyId"};

    if ($objCustomKey) {

# The custom key already exists, so just enable it
        $objCustomKey.Enabled = 1;
        $objCustomKey.Put() | Out-Null;
        "Enabled ${KeyId}.";

    } else {

# Create a new custom key object by calling the static Add method
        $retval = $classCustomKey.Add($KeyId);

# Check the return value to verify that the Add is successful
        if ($retval.ReturnValue -eq 0) {
            "Added ${KeyID}."
        } else {
            "Unknown Error: " + "{0:x0}" -f $retval.ReturnValue
        }
    }
}

# Enable Keyboard Filter to block several custom keys

Enable-Custom-Key "Ctrl+v"
Enable-Custom-Key "Ctrl+v"
Enable-Custom-Key "Shift+4"
Enable-Custom-Key "Ctrl+Alt+w"

# List all the currently existing custom keys

$objCustomKeyList = get-WMIObject -namespace $NAMESPACE -class WEKF_CustomKey
foreach ($objCustomKeyItem in $objCustomKeyList) {
    "Custom key: " + $objCustomKeyItem.Id
    "   enabled: " + $objCustomKeyItem.Enabled
    }