WEKF_Scancode
키를 누르거나 놓을 때마다 생성되는 정수인 키보드 검사 코드를 사용하여 키 조합을 차단하거나 차단 해제합니다.
구문
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 | [key] | 차단할 키 조합의 일부인 한정자 키입니다. |
Scancode | uint16 | [key] | 차단할 키 조합의 일부인 검사 코드입니다. |
활성화 | 부울 | [읽기/쓰기] | 검사 코드가 차단 또는 차단 해제되었는지 여부를 나타냅니다. 이 속성은 다음 값 중 하나일 수 있습니다. - true 검사 코드가 차단되었음을 나타냅니다. - false 검색 코드가 차단되지 않음을 나타냅니다. |
설명
검사 코드는 키를 누를 때마다 키보드에서 생성됩니다. 현재 시스템에서 사용 중인 키보드 레이아웃에 관계없이 동일한 물리적 키는 항상 동일한 검사 코드를 생성합니다.
Add 메서드의 Modifiers 매개 변수에 한정자 키를 포함하거나 Modifiers 속성을 수정하여 키 조합을 지정할 수 있습니다. 가장 일반적인 한정자 이름은 “Ctrl”, “Shift”, “Alt” 및 “Win”입니다.
예시
다음 코드는 키보드 필터에 대한 WMI(Windows Management Instrumentation) 공급자를 사용하여 키보드 필터가 차단할 키보드 검사 코드를 추가하거나 활성화하는 방법을 보여 줍니다. 이 예제에서는 속성을 직접 수정하고 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
요구 사항
Windows 버전 | 지원됨 |
---|---|
Windows Home | 아니요 |
Windows Pro | 아니요 |
Windows Enterprise | 예 |
Windows Education | 예 |
Windows IoT Enterprise | 예 |