| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Vie 28 May, 2004 5:28 pm Asunto: Bloquear Num Lock |
|
|
Saludos a todos....
Necesito tener una aplicacion que no permita al usuario deshabilitar el teclado numérico... Intente con el evento no KeyDown, y si detecta que el NumLock se presiona, pero no puedo hacer que se deshabilite, aun poniendo el Key=0. Alguien sabe de alguna API o funcion que me permita realizar esto?? se los agradeceria de antemano.. muchisimas gracias !!!  _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Dom 30 May, 2004 10:57 pm Asunto: |
|
|
Nadie tiene alguna idea??  _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Dom 30 May, 2004 11:31 pm Asunto: |
|
|
| Lo que podrías hacer al detectar su pulsación es comprobar el estado de "NUMLOCK" y cambiarlo si no esta como quieres. |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Dom 30 May, 2004 11:33 pm Asunto: |
|
|
Gracias LEo por tu respuesta...
Si puedo detectar su pulsacion... lo que no se hacer es como detectar su estado ni mucho menos cambiarlo  _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Lun 31 May, 2004 1:07 am Asunto: |
|
|
Puedes usar lo siguiente. Pero en el evento OnKeyUp:
| Código: | void ActivarNumLock(bool activar)
{
BYTE teclas[256];
GetKeyboardState(teclas);
if ((activar && !(teclas[VK_NUMLOCK] & 1)) ||
(!activar && (teclas[VK_NUMLOCK] & 1)) )
{
OSVERSIONINFO ovi;
ovi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&ovi);
if (ovi.dwPlatformId == VER_PLATFORM_WIN32_NT)
{
keybd_event(VK_NUMLOCK, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_NUMLOCK, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
}
else
{
teclas[VK_NUMLOCK] = activar?1:0;
SetKeyboardState(teclas);
}
}
}
void __fastcall TForm1::FormKeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Key == VK_NUMLOCK)
{
ActivarNumLock(true);
}
} |
|
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Lun 31 May, 2004 5:58 am Asunto: |
|
|
Muchas gracias Leo, me funciona a la perfeccion!! _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
|