¡Ayuda a escribir código para pulsaciones de teclas de simulación en segundo plano en VB!
Habilitado = Falso
HooK
End Sub
Sub privado Form_Unload(Cancelar como entero)
UnHooK
End Sub
Private Sub Timer1_Timer()
Enviar claves "1"
End Sub
Código de módulo:
Opción explícita
Función de declaración privada SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Función de declaración privada CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, lParam As Any) As Long
Función de declaración privada UnhookWindowsHookEx Lib "user32" ( ByVal hHook As Long) As Long
Función de declaración privada UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Declaración privada Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory " (Destino como cualquiera, Fuente como cualquier, longitud ByVal mientras)
Tipo privado PKBDLLHOOKSTRUCT
vkCode mientras
scanCode mientras
banderas Mientras
tiempo Mientras
dwExtraInfo Mientras
Tipo de fin
Const privado WM_KEYUP = amp H101
p>Const privada WM_SYSKEYUP = amp; H105
Const privada VK_F1 = amp; H70
Const privada VK_F2 = amp; = amp; H72
Const privado HC_ACTION = 0
Const privado WH_KEYBOARD_LL = 13
LngHook privado siempre
Proc de teclado de nivel bajo sub público (ByVal nCode siempre , ByVal wParam
As Long, ByVal lParam As Long)
Dim blnNum como entero
Dim p como PKBDLLHOOKSTRUCT
Si nCode = HC_ACTION Entonces
Seleccionar Caso wParam
Caso WM_KEYUP, WM_SYSKEYUP
Llamar a CopyMemory(p, ByVal lParam, Len(p))
Si p.vkCode = VK_F3 Entonces
blnNum = 3
Else
blnNum = 0
Finalizar si
Caso más
Finalizar selección
Finalizar si
Si blnNum = 1 entonces
Form1.Timer1.Enabled = True
De lo contrario, si blnNum = 2 entonces
Form1.Timer1.Enabled = True
UnHook
Fin
Else
Llamar a CallNextHookEx(WH_KEYBOARD_LL, nCode, wParam, lParam)
End If
End Sub
Public Sub HooK()
lngHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf LowLevelKeyboardProc, App.hInstance, 0)
End Sub
Public Sub UnHook()
Llamar a UnhookWindowsHookEx(lngHook)
End Sub
Puede encontrar más código VB en mi blog: /zgmg/blog/item/8ea6aab18339234f092302db.html