Posso ativar / desativar Caps de um arquivo em lotes no Win 7?

3

Eu tenho um programa muito antigo que precisa que os comandos sejam todos em maiúsculas. quando eu saio deste programa, muitas vezes esqueço de desligar o Caps Lock (muito chato). Eu tive um programa em lote no XP que fez isso, mas não consigo encontrar uma maneira de fazê-lo no Win 7.

    
por Fly Right 03.01.2014 / 11:41

3 respostas

4

A única maneira que eu sei do cmd.exe é gerando o powershell ou o vbs.

Solte isso no final do seu lote, ele alterna CAPSLOCK

start /b /wait powershell.exe -nologo -WindowStyle Hidden -sta -command "$wsh = New-Object -ComObject WScript.Shell;$wsh.SendKeys('{CAPSLOCK}')"

Isso chama o powershell via linha de comando e invoca as sendkeys, o método alternativo é ecoar comandos semelhantes em um arquivo% temp% e, em seguida, wscript %temp%\my.vbs .

EDIT: Aqui está a instrução IF para garantir que ela apenas desligue o capslock

start /b /wait powershell.exe -nologo -WindowStyle Hidden -sta -command "IF ([console]::CapsLock -eq 'True'){$wsh = New-Object -ComObject WScript.Shell;$wsh.SendKeys('{CAPSLOCK}')}"
    
por 03.01.2014 / 12:07
1

Usando o TCC / LE da JP Software, que pode executar scripts em lote, é tão simples quanto No comando KEYBD . Então, seu script wrapper que você executa com o TCC / LE seria:

@echo off
:: Force CAPS LOCK on beforehand.
keybd /c1
call very-old-program
:: Force CAPS LOCK off afterwards.
keybd /c0
    
por 03.01.2014 / 12:16
0

Você pode usar um programa muito pequeno nesta página link é grátis e funciona bem para mim. Basta usar "capslock on" ou "capslock off" em cmd.

    
por 21.03.2015 / 23:57