Ir ao conteúdo
  • Cadastre-se

Configuração do teclado pelo CMD


maysonmedeiros

Posts recomendados

Bom dia, preciso fazer um script para o windows 10 onde seja mostrado no prompt de comando a configuração do teclado, seja ABNT ou ABNT2, já fiz várias buscas mas não encontrei nada que solucionasse o meu problema, gostaria de sugestões por favor.

 

Grato pela Atenção.

Link para o comentário
Compartilhar em outros sites

Mais tem que ser o teclado ativo? Porque eu só sei pegar os teclados que a pessoa instalou tipo aqueles que aparecem na barra de tarefas e quando você pressiona as teclas WINDOWS + BARRA DE SPAÇOS.

 

Ai só vai descobrir o teclado ativo se a pessoa tiver apenas um teclado instalado mais se tiver mais de um vai aparecer uma lista...

 

ozIs2Pz.jpg

 

twAwoDI.gif

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Bem, basicamente eu peguei os códigos dos teclados com a ferramenta Dism e obtive algo como isso:

 

 00000416, 00010416, 00020409

 

Ai eu pesquisei os códigos nessa chave do registro que tem os nomes para todos os códigos de teclado:

 

"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts"

 

Aqui está o código, estou colocando o bat como anexo:


@echo off
Title Batch para detectar teclados instalados
setlocal enabledelayedexpansion
chcp 1252 > Nul
net session 2> Nul 1> Nul
If "%Errorlevel%"=="2" (
echo.
echo Atenção o batch precisa ser executado como Administrador!
echo.
pause
exit
)
cls
echo.
echo Teclados instalados:
echo.

for /f "tokens=3,5,7,9,11,13,15,17,19,21 Delims=:," %%a in ('dism /online /get-intl /english ^|find /i "Active Keyboard"') do (
set teclado1=%%a
set teclado2=%%b
set teclado3=%%c
set teclado4=%%d
set teclado5=%%e
set teclado6=%%f
set teclado7=%%g
set teclado8=%%h
set teclado9=%%i
set teclado10=%%j
)

if not "%teclado1%"=="" for /f "tokens=3*" %%a in ('reg query "HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\!teclado1!" ^|find /i "layout text"') do @echo %%b
if not "%teclado2%"=="" for /f "tokens=3*" %%a in ('reg query "HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\!teclado2!" ^|find /i "layout text"') do @echo %%b
if not "%teclado3%"=="" for /f "tokens=3*" %%a in ('reg query "HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\!teclado3!" ^|find /i "layout text"') do @echo %%b
if not "%teclado4%"=="" for /f "tokens=3*" %%a in ('reg query "HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\!teclado4!" ^|find /i "layout text"') do @echo %%b
if not "%teclado5%"=="" for /f "tokens=3*" %%a in ('reg query "HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\!teclado5!" ^|find /i "layout text"') do @echo %%b
if not "%teclado6%"=="" for /f "tokens=3*" %%a in ('reg query "HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\!teclado6!" ^|find /i "layout text"') do @echo %%b
if not "%teclado7%"=="" for /f "tokens=3*" %%a in ('reg query "HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\!teclado7!" ^|find /i "layout text"') do @echo %%b
if not "%teclado8%"=="" for /f "tokens=3*" %%a in ('reg query "HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\!teclado8!" ^|find /i "layout text"') do @echo %%b
if not "%teclado9%"=="" for /f "tokens=3*" %%a in ('reg query "HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\!teclado9!" ^|find /i "layout text"') do @echo %%b
if not "%teclado10%"=="" for /f "tokens=3*" %%a in ('reg query "HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\!teclado10!" ^|find /i "layout text"') do @echo %%b
echo.
pause


 

 

 

 

 

Teclados.zip

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...