capslock desativado finalmente como?

29/12/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


Njuniorba

Respostas

29/12/2005

Michael

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

  
  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


Responder Citar

29/12/2005

Aerreira

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 [b:7762303c55]Timer[/b:7762303c55].... 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.


Responder Citar

29/12/2005

Adriano Santos

[quote:a5b3362fe4=´njuniorba´]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 [b:a5b3362fe4]Timer[/b:a5b3362fe4].... 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.[/quote:a5b3362fe4]

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


Responder Citar

29/12/2005

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


Responder Citar

29/12/2005

Adriano Santos

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.


Responder Citar

30/12/2005

Njuniorba

[quote=´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.[/quote]

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


Responder Citar