ok muchas gracias
mira tengo otra duda, el proceso para ello es el sigueinte
If RegisterHotKey(hWnd, 1, MOD_CONTROL Or MOD_ALT, VK_1) = 0 Then
MsgBox " Hubo un error ", vbCritical
Exit Sub
End If
If RegisterHotKey(hWnd, 1, MOD_CONTROL Or MOD_ALT, VK_2) = 0 Then
MsgBox " Hubo un error ", vbCritical
Exit Sub
End If
If RegisterHotKey(hWnd, 1, MOD_CONTROL Or MOD_ALT, VK_3) = 0 Then
MsgBox " Hubo un error ", vbCritical
Exit Sub
End If
If RegisterHotKey(hWnd, 1, MOD_CONTROL Or MOD_ALT, VK_4) = 0 Then
MsgBox " Hubo un error ", vbCritical
Exit Sub
End If
If RegisterHotKey(hWnd, 1, MOD_CONTROL Or MOD_ALT, VK_5) = 0 Then
MsgBox " Hubo un error ", vbCritical
Exit Sub
End If
If RegisterHotKey(hWnd, 1, MOD_CONTROL Or MOD_ALT, VK_6) = 0 Then
MsgBox " Hubo un error ", vbCritical
Exit Sub
End If
If RegisterHotKey(hWnd, 1, MOD_CONTROL Or MOD_ALT, VK_7) = 0 Then
MsgBox " Hubo un error ", vbCritical
Exit Sub
End If
If RegisterHotKey(hWnd, 1, MOD_CONTROL Or MOD_ALT, VK_8) = 0 Then
MsgBox " Hubo un error ", vbCritical
Exit Sub
End If
WinProc = SetWindowLong(hWnd, GWL_WNDPROC, AddressOf NewWindowProc)
y en el modulo es asi:
Public Function NewWindowProc( _
ByVal hWnd As Long, _
ByVal Msg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
If Msg = &H82 Then
Call SetWindowLong(hWnd, GWL_WNDPROC, WinProc)
Call UnregisterHotKey(hWnd, 1)
End If
If Msg = WM_HOTKEY Then
MsgBox "atajos dados"
End If
NewWindowProc = CallWindowProc(WinProc, hWnd, Msg, wParam, lParam)
End Function
como hago para identificar si se ha dado a ctrl + alt + 2 en vez de a ctrl + alt + 7 por ejemplo? ya que para identificarlo usan la constante msg y devuelve unicamente el valor de que se ha ejecutado la pulsacion de teclas, una cualquiera
saludos