Ir ao conteúdo

Posts recomendados

Postado

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.

Postado

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
Postado

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

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!