Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Bloquear Num Lock

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Bloquear Num Lock Responder citando

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 !!! Razz
_________________
Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Nadie tiene alguna idea?? Crying or Very sad
_________________
Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias LEo por tu respuesta...

Si puedo detectar su pulsacion... lo que no se hacer es como detectar su estado ni mucho menos cambiarlo Embarassed
_________________
Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.