Hey there.
Sometime ago I developed a small app for myself that would send a series of key strokes to another app based on the contents of a file. It worked very well. Sadly today I am unable to recreate this app. for some unknown reason.
I have a very basic hook app which monitors for a particular key press combo. ie ALT & F12 (Whatever). This then opens a file that contains the keys I want to pass to another app. The purpose is to make life easy for myself by automation of repetitive tasks.
My problem is that when I capture the key combo and it runs the appropriate procedure, I get double entry of what is meant to be passed via the Keybd_Event.
Im not sure I am calling the proc in the correct place and I dont recall how I overcome this issue years ago.
The following (shortened) is what I have which does work but its sending twice.
What do I need to do to recieve '123' in (for example) notepad, or Excel. I dont want '123123'
Thanks.

Code:
Sub SendThis()
' This will be dragged from a text file later
    keybd_event VK_1, 0, 0, 0
    keybd_event VK_1, 0, KEYEVENTF_KEYUP, 0 ' 1
    
    keybd_event VK_2, 0, 0, 0
    keybd_event VK_2, 0, KEYEVENTF_KEYUP, 0 ' 2
    
    keybd_event VK_3, 0, 0, 0
    keybd_event VK_3, 0, KEYEVENTF_KEYUP, 0 ' 3
End Sub


' I have all the correct Decs in place    
Public Function LowLevelKeyboardProc(ByVal uCode As Long, ByVal wParam As Long, lParam As KBDLLHOOKSTRUCT) As Long
    If uCode >= 0 Then
        If lParam.vkCode = VK_END Then 'simplicity till the details are sorted.
            SendThis
            LowLevelKeyboardProc = 1
            Exit Function
        End If
    End If
    LowLevelKeyboardProc = CallNextHookEx(hHook, uCode, wParam, lParam)
End Function