Array
(
)

capslock desativado finalmente como?

Njuniorba
   - 29 dez 2005

as respostas dadas n resolveram e n irao resolver pois eel so desativa, mas se pressionar novamente volta ao seu estado normal.. eu kero bloquear a tela mesmo durante o sistema.. nda de capslock nem pressionando e nem nda.. 100¬ sem capslock so segurando o shift q vai poder aumentar a letra!

obrigado a todos q ajudaram, mas n foi dessa vez..

[]´s

junior


Michael
   - 29 dez 2005

Eis uma solução esdrúxula, porém funcional: Coloque um Timer no form, define um intervalo pequeno, e no evento OnTimer digite:

#Código


function IsCapsLockOn: Boolean;
begin
Result := 0 <> (GetKeyState(VK_CAPITAL) and $01);
end;

begin
if IsCapsLockOn then
SetLedState(ktCapsLock, False);
end;


A solução ideal seria interceptar o pressionamento da tecla e ignorá-lo, via API Hooking.

[]´s


Aerreira
   - 29 dez 2005


Citação:
as respostas dadas n resolveram e n irao resolver pois eel so desativa, mas se pressionar novamente volta ao seu estado normal..


Junior, veja a resposta que eu havia postado: era para colocar aquele código de desabilitar o CapsLock num Timer.... Ou seja, sempre que o timer for executado o capslock será desativado, se o usuário ligar o caps, na próxima passada do timer o caps vai para off novamente. Basta colocar o timer em 500 (meio segundo) o usuário não vai notar nada, o caps-lock será desligado sempre, a cada meio segundo.


Adriano Santos
   - 29 dez 2005


Citação:

Citação:
as respostas dadas n resolveram e n irao resolver pois eel so desativa, mas se pressionar novamente volta ao seu estado normal..


Junior, veja a resposta que eu havia postado: era para colocar aquele código de desabilitar o CapsLock num Timer.... Ou seja, sempre que o timer for executado o capslock será desativado, se o usuário ligar o caps, na próxima passada do timer o caps vai para off novamente. Basta colocar o timer em 500 (meio segundo) o usuário não vai notar nada, o caps-lock será desligado sempre, a cada meio segundo.


E pra ficar ainda mais sofisticado poderia até usar uma Thread, melhor ainda.


Michael
   - 29 dez 2005

Acho q usar um timer, seja via API ou via Thread é uma solução alternativa, mas não ideal. Como mencionei, usando API Hooking vc pode simplesmente ignorar o pressionamento da tecla.

Com um timer, mesmo o intervalo sendo curto, ainda vai dar para ver o led do capslock acender e apagar... ;-)

[]´s


Adriano Santos
   - 29 dez 2005


Citação:
Acho q usar um timer, seja via API ou via Thread é uma solução alternativa, mas não ideal. Como mencionei, usando API Hooking vc pode simplesmente ignorar o pressionamento da tecla.

Com um timer, mesmo o intervalo sendo curto, ainda vai dar para ver o led do capslock acender e apagar... ;-)

[]´s


Isso é verdade, o usuário vai pensar que o software tem algum problema quando perceber o CapsLock acendendo e apagando. Voto no Api Hooking.


Njuniorba
   - 30 dez 2005


Citação:
=´Adriano Santos´]
Citação:
=´Michael´]Acho q usar um timer, seja via API ou via Thread é uma solução alternativa, mas não ideal. Como mencionei, usando API Hooking vc pode simplesmente ignorar o pressionamento da tecla.

Com um timer, mesmo o intervalo sendo curto, ainda vai dar para ver o led do capslock acender e apagar... ;-)

[]´s


Isso é verdade, o usuário vai pensar que o software tem algum problema quando perceber o CapsLock acendendo e apagando. Voto no Api Hooking.


obrigado amigos pela resposta agora sim :o) fiz ate usando hooking mesmo