Эмулировать кнопку клавиатуры через командную строку

На моей клавиатуре нет клавиши Num Lock, и по какой-то причине ни одно из изменений реестра не работает.

Могу ли я использовать командную строку или PowerShell в Windows 10, чтобы "нажать" клавишу? Я ищу что-то вроде press pgup нажать клавишу Page Up в командной строке или PowerShell, но для Num Lock.

2 ответа

Решение

Как мне переключить статус numlock с помощью PowerShell.

Используйте следующий скрипт:

$wsh = New-Object -ComObject WScript.Shell
$wsh.SendKeys('{NUMLOCK}')

Ответ Source StackOverflow PowerShell: Включение и выключение "Num Lock". Энди Арисменди

Как указал ABashore в своем комментарии, это можно сократить следующим образом:

$wshell.SendKeys('{NUMLOCK}')

Вот строка powershell, которая переключит ваш NUMLOCK. Я проверил это, и он работает на моей клавиатуре Logitech K120 USB.

$wshell.SendKeys('{NUMLOCK}')

Вот список других кодов SendKey.

Если вам нужно отправить нажатие клавиши в интерактивное приложение, потребуется больше кода.

Партия

Без создания временных файлов. "Цикл" был показан только для того, чтобы вы могли открыть блокнот для вывода. Удалите это после.

    @echo off
        :loop
            ::------------begin main code------------
            set command=new ActiveXObject('WScript.Shell').SendKeys('WoW{ENTER}{ENTER}');
            for /f "delims=" %%i in ('mshta "javascript:%command%close(new ActiveXObject('Scripting.FileSystemObject'));"') do set
            ::-------------end main code-------------
            timeout /t 1 /nobreak >nul
        goto :loop
Другие вопросы по тегам