BOTAO WINDOW

USUARIO.EXCLUIDOS 22/06/2004 14:53:36
#30746
[S36]Ae Galera vcs são d+ me ajudaram pakas me ensinando como bloquear o ctrl+alt+del mas agóra preciso de ajuda para bloquear o botão windows do teclado e também o ctrl+esc c alguém sabe como faz e pode me ajudar por favor responda-me!!!!!!!!
USUARIO.EXCLUIDOS 22/06/2004 19:23:56
#30782
Resposta escolhida
Ja que te ajudamos,faz assim encerra la o topico e depois vemos o que podemos fazer com vc aki neste,ok?
USUARIO.EXCLUIDOS 22/06/2004 19:30:25
#30783
Desabilitar e habilitar o ctrl esc

'no modulo

Option Explicit


Private mHook As Long

Private Const WH_KEYBOARD_LL As Long = 13&

Private Type tagKBDLLHOOKSTRUCT
vkCode As Long
scanCode As Long
flags As Long
time As Long
dwExtraInfo As Long
End Type
'
Private Const VK_TAB As Long = &H9
Private Const VK_CONTROL As Long = &H11 ' tecla Ctrl
' tecla Alt
Private Const VK_ESCAPE As Long = &H1B
' tecla Supr (Del)
'
Private Const LLKHF_ALTDOWN As Long = &H20&
Private Const HC_ACTION As Long = 0&
Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _
(ByVal idHook As Long, ByVal lpfn As Long, _
ByVal hMod As Long, ByVal dwThreadId As Long) As Long


Private Declare Function UnhookWindowsHookEx Lib "user32" _
(ByVal hHook As Long) As Long

Private Declare Function CallNextHookEx Lib "user32" _
(ByVal hHook As Long, ByVal nCode As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long

Private Declare Function GetAsyncKeyState Lib "user32" _
(ByVal vKey As Long) As Integer


Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(Destination As Any, Source As Any, ByVal Length As Long)




Public Function LLKeyBoardProc(ByVal nCode As Long, _
ByVal wParam As Long, _
ByVal lParam As Long _
) As Long
Dim pkbhs As tagKBDLLHOOKSTRUCT
Dim ret As Long
'
ret = 0
CopyMemory pkbhs, ByVal lParam, Len(pkbhs)

If nCode = HC_ACTION Then


If pkbhs.vkCode = VK_ESCAPE Then
If (GetAsyncKeyState(VK_CONTROL) And &H8000) Then
ret = 1
End If
End If


If pkbhs.vkCode = VK_TAB Then
If (pkbhs.flags And LLKHF_ALTDOWN) <> 0 Then
ret = 1
End If
End If

If pkbhs.vkCode = VK_ESCAPE Then
If (pkbhs.flags And LLKHF_ALTDOWN) <> 0 Then
ret = 1
End If
End If
'
End If
'
If ret = 0 Then
ret = CallNextHookEx(mHook, nCode, wParam, lParam)
End If
'
LLKeyBoardProc = ret

End Function



Public Sub HookKeyB(ByVal hMod As Long)
mHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf LLKeyBoardProc, hMod, 0&)
End Sub

Public Sub UnHookKeyB()
If mHook <> 0 Then
UnhookWindowsHookEx mHook
End If
End Sub
-------------------------------------------

'no form

Option Explicit

Private Sub Command3_Click()
' encerra o programa
Unload Me
End Sub

Private Sub Command1_Click()
' desabilita o ctrl esc
HookKeyB App.hInstance
End Sub

Private Sub Command2_Click()
' habilita o ctrl esc
UnHookKeyB
End Sub



Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
' aki pra quando encerrar o programa ele voltar ao normal
UnHookKeyB
End Sub

Depois q resover seu problema,encerra seus topicos,caso nao resolva,posta ai de novo...
Tópico encerrado , respostas não são mais permitidas