Page 1 of 1

CAPSLOCK SIEMPRE ENCENDIDO !!!

Posted: Mon Feb 25, 2013 3:22 pm
by CarlosRD
HOLA A TODOS:
COMO PUEDO HACER PARA QUE EL CAPSLOCK SIEMPRE ESTE ENCENDIDO???
SALUDOS.

***************************

HI ALL,
HOW CAN I DO TO SET CAPSLOCK ALLWAYS ON???
REHARDS.

CAPSLOCK SIEMPRE ENCENDIDO !!!

Posted: Mon Feb 25, 2013 3:25 pm
by Pablo César
Hola Carlos,

Creo que lo mejor es controlar en los elementos através de funciones de verificacion. Normalmente o TEXBOX, por ejemplo tienen la opcion de aceptar máscaras como eram hecha en Clipper que permite la digitacion en mayusculas. Y tambien puedes implementar una funcion de verificacion "pos-get" vamos decir para convertir en mayusculas con la funcion UPPER.

El capLock, solo se puede llamar (encenderlo) pero no garante que el usuário venga a pressionarlo nuevamente e quedar en minusculas. Sigue una funcion para llamar el CapsLock:

Code: Select all

#include "hmg.ch"

#define HB_VK_INSERT         0x2D
#define HB_VK_CAPITAL        0x14
#define HB_VK_NUMLOCK        0x90
#define HB_VK_SCROLL         0x91

Function Main()
MsgStop("Mantega apagados el CapsLock y el NumLock","Atencion")
PRESSKEY(HB_VK_CAPITAL)
MsgInfo("CapsLock prendido !")
PRESSKEY(HB_VK_NUMLOCK)
MsgInfo("NumLock prendido !")
RETURN

#pragma begindump

#include <shlobj.h>
#include <windows.h>
#include "hbapi.h"

HB_FUNC( PRESSKEY )

{

 BYTE keyState[256];

 GetKeyboardState((LPBYTE)&keyState);

 if (keyState[hb_parni(1)] == 0)  // testa se a tecla est  ativa

    {

    // Simula pressionamento

     keybd_event( hb_parni(1),
                  0x45,
                  KEYEVENTF_EXTENDEDKEY | 0,
                  0 );

     keybd_event( hb_parni(1),
                  0x45,
                  KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
                  0 );
    }

}

#pragma enddump
El código-ejemplo fué extraído en: http://www.pctoledo.com.br/forum/viewto ... 743#p38743

Re: CAPSLOCK SIEMPRE ENCENDIDO !!!

Posted: Mon Feb 25, 2013 5:41 pm
by CarlosRD
Pablo César wrote:Hola Carlos,

Creo que lo mejor es controlar en los elementos através de funciones de verificacion. Normalmente o TEXBOX, por ejemplo tienen la opcion de aceptar máscaras como eram hecha en Clipper que permite la digitacion en mayusculas. Y tambien puedes implementar una funcion de verificacion "pos-get" vamos decir para convertir en mayusculas con la funcion UPPER.

El capLock, solo se puede llamar (encenderlo) pero no garante que el usuário venga a pressionarlo nuevamente e quedar en minusculas. Sigue una funcion para llamar el CapsLock:
gracias Pablo César:

coincido contigo, en cualquier momento el usuario final puede presionar la tecla CAPSLOCK y desactivarla, pero intento hacer en mi aplicación que el mismo usuario final no tenga ningún contratiempo.

he incluido en mi aplicación la función que me pasaste y FUNCIONO PERFECTO para mi propósito.

otra vez, GRACIAS.

Re: CAPSLOCK SIEMPRE ENCENDIDO !!!

Posted: Mon Feb 25, 2013 5:58 pm
by danielmaximiliano
Pablo César wrote:Hola Carlos,

Creo que lo mejor es controlar en los elementos através de funciones de verificacion. Normalmente o TEXBOX, por ejemplo tienen la opcion de aceptar máscaras como eram hecha en Clipper que permite la digitacion en mayusculas. Y tambien puedes implementar una funcion de verificacion "pos-get" vamos decir para convertir en mayusculas con la funcion UPPER.
Gracias por compartir Pablo..