次の方法で共有


WEKF_CustomKey.Remove

サポートされているエディション
✅ IoT Enterprise LTSC
✅ IoT Enterprise
✅ Enterprise LTSC
✅ Enterprise
✅ Education

カスタム キーの組み合わせを削除すると、キーボード フィルターによって削除されたキーの組み合わせのブロックが停止します。

構文

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

パラメーター

CustomKey
[in]削除するカスタム キーの組み合わせ。

戻り値

WMI の状態または WMI エラーを示す HRESULT 値を返します。

注釈

WEKF_CustomKey.Remove は 、既存の WEKF_CustomKey オブジェクトを削除します。 オブジェクトが存在しない場合、 WEKF_CustomKey.Remove は値0x8007007Bでエラーを返します。

このメソッドは静的であるため、オブジェクト インスタンスで呼び出すことはできませんが、代わりにクラス レベルで呼び出す必要があります。

次のコードは、キーボード フィルターの Windows 管理インストルメンテーション (WMI) プロバイダーを使用してブロックされないように、カスタム キーをキーボード フィルターから削除する方法を示しています。

$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 remove a key combination
function Remove-Custom-Key($KeyId) {

# Call the static Remove() method on the class reference
    $retval = $classCustomKey.Remove($KeyId)

# Check the return value for status
    if ($retval.ReturnValue -eq 0) {

# Custom key combination removed successfully
        "Removed ${KeyID}."
    } elseif ($retval.ReturnValue -eq 2147942523) {

# No object exists with the specified custom key
        "Failed to remove ${KeyID}. No object found."
    } else {

# Unknown error, report error code in hexadecimal
        "Failed to remove ${KeyID}. Unknown Error: " + "{0:x0}" -f $retval.ReturnValue
    }
}


# Example of removing a custom key so that Keyboard Filter stops blocking it
Remove-Custom-Key "Ctrl+Alt+w"

# Example of removing all custom keys that have the Enabled property set to false
$objDisabledCustomKeys = Get-WmiObject -Namespace $NAMESPACE -Class WEKF_CustomKey;

foreach ($objCustomKey in $objDisabledCustomKeys) {
    if (!$objCustomKey.Enabled) {
        Remove-Custom-Key($objCustomKey.Id);
    }
}