Como bloquear teclas

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Notapor opermty » 21 Jun 2006 18:19

Por cierto de que trata el desarrollo ya que le pones tantas restricciones y captura de eventos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Notapor opermty » 26 Jun 2006 20:00

Hola,
Desactivar la tecla "NUMLOCK" en tiempo de ejcución.


SOFTJAEN (ENRIQUE MARTINEZ)
===========================

Tienes que recurrir a la API de Windows. Te dejo el siguiente código que
activará/desactivará la tecla del bloque numérico cada vez que llames al
procedimiento «SendNumLock»:

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)

Public Sub SendNumLock()
'
' El procedimiento activará/desactivará la tecla
' del bloque numérico
'
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
Const VK_NUMLOCK = &H90

keybd_event VK_NUMLOCK, vbKeyNumlock, KEYEVENTF_EXTENDEDKEY _
Or 0, 0
keybd_event VK_NUMLOCK, vbKeyNumlock, KEYEVENTF_EXTENDEDKEY _
Or KEYEVENTF_KEYUP, 0

End Sub

Un saludo.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Notapor opermty » 26 Jun 2006 20:04

Se puede hacer con una API

'Deshabilita el uso de Control+Alt+Supr
Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long

Public Const SPI_SCREENSAVERRUNNING = 97

Private Sub ToggleCtrlAltDel(IsEnabled As Boolean)
Dim lReturn As Long
Dim lBool As Long
lReturn = SystemParametersInfo(SPI_SCREENSAVERRUNNING, IsEnabled, lBool, vbNull)
End Sub


Comentario SOftJaen
===================

Si Access 97 lo estás ejecutando en sistemas basados en NT, debido a motivos
de seguridad no es posible deshabilitar la famosa combinación de teclas
«Ctrl + Alt + Supr». En Windows 9x no hay ningún problema, pero en
NT/2000/XP, no es posible.

Lo que sí­ puedes hacer es deshabilitar el botón «Administrador de tareas».
Para ello deberás acceder al registro de Windows y crear la siguiente clave,
si es que no existe:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System

Una vez creada la clave, crea en ella un valor DWORD llamado
«DisableTaskMgr» y establece a 1 su valor. Cuando quieras habilitar de nueva
dicho botón, cambia el valor por un 0.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Anterior

Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 5 invitados