WEKF_Scancode
Поддерживаемые выпуски
✅ IoT Enterprise LTSC
✅ IoT Enterprise
✅ LTSC
✅ Enterprise
✅ Education
Блокирует или разблокирует сочетания клавиш с помощью кода сканирования клавиатуры, который представляет собой целочисленное число, которое создается при нажатии или освобождении клавиши.
Синтаксис
class WEKF_Scancode {
[Static] uint32 Add(
[In] string Modifiers,
[In] uint16 scancode
);
[Static] uint32 Remove(
[In] string Modifiers,
[In] uint16 Scancode
);
[Key] string Modifiers;
[Key] uint16 Scancode;
[Read, Write] boolean Enabled;
}
Члены
В следующих таблицах перечислены конструкторы, методы, поля и свойства, принадлежащие этому классу.
Методы
Методы | Описание |
---|---|
WEKF_Scancode.Add | Добавляет новую настраиваемую комбинацию кода сканирования и позволяет фильтру клавиатуры блокировать новую комбинацию кода сканирования. |
WEKF_Scancode.Remove | Удаляет указанное сочетание кода пользовательского сканирования. Фильтр клавиатуры перестает блокировать удаленную комбинацию кода сканирования. |
Свойства
Свойство | Тип данных | Квалификаторы | Описание |
---|---|---|---|
Модификаторы | string | [ключ] | Клавиши-модификаторы, которые являются частью сочетания ключей для блокировки. |
Scancode | uint16 | [ключ] | Часть кода сканирования в блокируемой комбинации ключей. |
Enabled | Boolean (Логическое) | [чтение, запись] | Указывает, заблокирован или разблокирован код сканирования. Это свойство может иметь одно из следующих значений: - true Указывает, что код сканирования заблокирован. - ложный Указывает, что код сканирования не заблокирован. |
Комментарии
Коды сканирования создаются клавиатурой при нажатии клавиши. Одна физическая клавиша всегда создает один и тот же код сканирования, независимо от того, какая раскладка клавиатуры в настоящее время используется системой.
Вы можете указать сочетания ключей, включив ключи-модификаторы в параметр Modifiers метода Add или изменив свойство Modifiers . Наиболее распространенные имена модификаторов: >CTRL, >SHIFT, >ALT и >Win.
Пример
В следующем коде показано, как добавить или включить код сканирования клавиатуры, который будет блокироваться фильтром клавиатуры с помощью поставщиков инструментария управления Windows (WMI) для фильтра клавиатуры. В этом примере напрямую изменяются свойства и не вызывается ни один из методов, определенных в WEKF_Scancode.
<#
.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-Scancode($Modifiers, [int]$Code) {
<#
.Synopsis
Toggle on a Scancode Keyboard Filter Rule
.Description
Use Get-WMIObject to enumerate all WEKF_Scancode instances,
filter against key values of "Modifiers" and "Scancode", and set
that instance's "Enabled" property to 1/true.
In the case that the Scancode instance does not exist, add a new
instance of WEKF_Scancode using Set-WMIInstance.
.Example
Enable-Predefined-Key "Ctrl+V"
Enable filtering of the Ctrl + V sequence.
#>
$scancode =
Get-WMIObject -class WEKF_Scancode @CommonParams |
where {
($_.Modifiers -eq $Modifiers) -and ($_.Scancode -eq $Code)
}
if($scancode) {
$scancode.Enabled = 1
$scancode.Put() | Out-Null
"Enabled Custom Scancode {0}+{1:X4}" -f $Modifiers, $Code
} else {
Set-WMIInstance `
-class WEKF_Scancode `
-argument @{Modifiers="$Modifiers"; Scancode=$Code} `
@CommonParams | Out-Null
"Added Custom Scancode {0}+{1:X4}" -f $Modifiers, $Code
}
}
# Some example uses of the function defined above.
Enable-Scancode "Ctrl" 37