Поделиться через


WEKF_CustomKey

Поддерживаемые выпуски
✅ IoT Enterprise LTSC
✅ IoT Enterprise
✅ LTSC
✅ Enterprise
✅ Education

Добавляет или удаляет пользовательские сочетания ключей.

Синтаксис

class WEKF_CustomKey {
    [Static] uint32 Add(
        [In] string CustomKey
    );
    [Static] uint32 Remove(
        [In] string CustomKey
    );

    [Key] string Id;
    [Read, Write] boolean Enabled;
};

Члены

В следующих таблицах перечислены все методы и свойства, принадлежащие этому классу.

Методы

Методы Описание
WEKF_CustomKey.Add Создает новую настраиваемую комбинацию клавиш и позволяет фильтру клавиатуры блокировать новую комбинацию клавиш.
WEKF_CustomKey.Remove Удаляет указанное настраиваемое сочетание клавиш. Фильтр клавиатуры перестает блокировать удаленную комбинацию клавиш.

Свойства

Свойство Тип данных Квалификаторы Описание
Идентификатор string [ключ] Имя настраиваемой комбинации ключей.
Enabled Boolean (Логическое) [чтение, запись] Указывает, заблокирован или разблокирован ключ. Это свойство может иметь одно из следующих значений
- true Указывает, что ключ заблокирован.
- ложный Указывает, что ключ не заблокирован.

Комментарии

Вы можете указать сочетания клавиш, включив в имя ключи-модификаторы. Наиболее распространенные имена модификаторов: >CTRL, >SHIFT, >ALT и >Win. Нельзя заблокировать сочетание клавиш, не являющихся модификаторами. Например, можно заблокировать сочетание >клавиш CTRL+>SHIFT+>F, но нельзя заблокировать сочетание >клавиш A+>D.

При блокировке клавиши, измененной >с помощью shift, необходимо ввести ее как >SHIFT + неизмененную клавишу. Например, чтобы заблокировать >клавишу % на раскладке клавиатуры на английском языке, необходимо указать клавишу >SHIFT+>5. Попытка заблокировать >%приводит к тому, что фильтр клавиатуры блокирует >5 .

При указании сочетания ключей для блокировки необходимо использовать английские имена ключей. Список имен ключей, которые можно указать, см. в разделе Имена клавиш фильтра клавиатуры.

Пример

В следующем коде показано, как добавить или включить настраиваемую комбинацию клавиш, которая будет блокироваться фильтром клавиатуры с помощью поставщиков инструментария управления Windows (WMI) для фильтра клавиатуры. В этом примере свойства изменяются напрямую и не вызывается ни один из методов, определенных в WEKF_CustomKey.

<#
.Synopsis
    This script shows how to use the WMI provider to enable and add
    Keyboard Filter rules through Windows PowerShell on the local computer.
.Parameter ComputerName
    Optional parameter to specify a remote machine that this script should
    manage.  If not specified, the script will execute all WMI operations
    locally.
#>
param (
    [String] $ComputerName
)

$CommonParams = @{"namespace"="root\standardcimv2\embedded"}
$CommonParams += $PSBoundParameters

function Enable-Custom-Key($Id) {
    <#
    .Synopsis
        Toggle on a Custom Key Keyboard Filter Rule
    .Description
        Use Get-WMIObject to enumerate all WEKF_CustomKey instances,
        filter against key value "Id", and set that instance's "Enabled"
        property to 1/true.

        In the case that the Custom instance does not exist, add a new
        instance of WEKF_CustomKey using Set-WMIInstance.
    .Example
        Enable-Custom-Key "Ctrl+V"

        Enable filtering of the Ctrl + V sequence.
#>

    $custom = Get-WMIObject -class WEKF_CustomKey @CommonParams |
        where {
            $_.Id -eq "$Id"
        };

    if ($custom) {
# Rule exists.  Just enable it.
        $custom.Enabled = 1;
        $custom.Put() | Out-Null;
        "Enabled Custom Filter $Id.";

    } else {
        Set-WMIInstance `
            -class WEKF_CustomKey `
            -argument @{Id="$Id"} `
            @CommonParams | Out-Null

        "Added Custom Filter $Id.";
    }
}


# Some example uses of the function defined above.

Enable-Custom-Key "Ctrl+V"
Enable-Custom-Key "Numpad0"
Enable-Custom-Key "Shift+Numpad1"

Справочник по поставщику WMI фильтра клавиатуры

Имена клавиш фильтра клавиатуры