La Web del Programador: Comunidad de Programadores
 
    Pregunta:  49496 - BLOQUEAR BOTON INICIO
Autor:  MARIANO MARQUEZ
HOLA ESTOY HACIENDO UN PROYECTO EN EL CUL DEBO BLOQUEAR LA TECLA DE INICIO I NO SE COMO ME GUSTARIA Q ME AYUDARAN TEGO UNA IDEA CON EL KEYCODE PARO NO ENCUENTRO CUAL ES EL VALOR NUMERICO DE LA TECLA GRACIAS

  Respuesta:  Dj_Dans
Mira en un formulario nuevo en Visual Basic coloca este codigo y ejecútalo:

Private Const SPI_SCREENSAVERRUNNING = 97&

Private Declare Function SystemParametersInfo Lib "User32" _
Alias "SystemParametersInfoA" _
(ByVal uAction As Long, _
ByVal uParam As Long, _
lpvParam As Any, _
ByVal fuWinIni As Long) As Long

Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function EnableWindow Lib "User32" (ByVal _
hWnd As Long, ByVal fEnable As Long) As Long

Private Sub Form_Load()
' desactiva entrada del ratón
Dim hWnd As Long, RetVal As Long
hWnd = FindWindow("Shell_TrayWnd", "")
If hWnd = 0 Then
MsgBox "No encuentro Shell_TrayWnd"
Exit Sub
End If
RetVal = EnableWindow(hWnd, False)

' desactiva Ctrl-Esc, Ctrl-Alt-Del, etc
Dim lngRet As Long
Dim blnOld As Boolean
lngRet = SystemParametersInfo(SPI_SCREENSAVERRUNNING, _
True, blnOld, 0&)
End Sub

Private Sub Form_Unload(Cancel As Integer)
' activa entrada del ratón
Dim hWnd As Long, RetVal As Long
hWnd = FindWindow("Shell_TrayWnd", "")
If hWnd = 0 Then
MsgBox "No encuentro Shell_TrayWnd"
Exit Sub
End If
RetVal = EnableWindow(hWnd, True)

' activa Ctrl-Esc
Dim lngRet As Long
Dim blnOld As Boolean
lngRet = SystemParametersInfo(SPI_SCREENSAVERRUNNING, _
False, blnOld, 0&)
End Sub

EXPLICACIÓN:

Cuando ejecutas el formulario automáticamente desactiva la tecla del botón inicio, y cuando apretas la "X" k trae la ventana para cerrar, se vuelve a Activar el botón inicio.

Espero te sirva.
:D
Salu2