다음을 통해 공유


WEKF_CustomKey.추가

지원되는 버전
✅ IoT Enterprise LTSC
✅ IoT Enterprise✅
Enterprise LTSC
✅ Enterprise
✅ Education

새 사용자 지정 키 조합을 만들고 키보드 필터를 사용하여 새 키 조합을 차단할 수 있습니다.

구문

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

매개 변수

CustomKey
[in] 추가할 사용자 지정 키 조합입니다. 유효한 키 이름 목록은 키보드 필터 키 이름을 참조하세요.

반환 값

WMI 오류 없음 상수 또는 WMI 오류 상수를 나타내는 HRESULT 값을 반환합니다.

설명

WEKF_CustomKey.Add 는 새 WEKF_CustomKey 개체를 만들고 새 개체의 Enabled 속성을 true로 설정하고 Id 속성을 CustomKey로 설정합니다.

Id 속성이 CustomKey와 같은 WEKF_CustomKey 개체가 이미 있는 경우 WEKF_CustomKey.Add는 오류 코드를 반환하고 새 개체를 만들거나 기존 개체의 속성을 수정하지 않습니다. 기존 WEKF_CustomKey 개체에 Enabled 속성이 false로 설정된 경우 키보드 필터는 사용자 지정 키 조합을 차단하지 않습니다.

예제

다음 코드에서는 키보드 필터에 WMI(Windows Management Instrumentation) 공급자를 사용하여 키보드 필터에서 차단할 사용자 지정 키를 추가하거나 사용하도록 설정하는 방법을 보여 줍니다.

$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
    }