Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include once "windows.bi"
- Declare Sub KeyboardListener
- enum ProcessMessages
- pmQuit = WM_USER+1
- pmKeyDown = WM_USER+2
- end enum
- Dim Shared as any ptr MainThread, ListenerThread
- MainThread = GetCurrentThreadID()
- CreateThread(0, 0, @KeyboardListener, 0, 0, ListenerThread)
- Do
- Dim Msg as MSG
- If PeekMessage(@Msg, null, 0, 0, PM_REMOVE) Then
- Select case Msg.message
- Case pmQuit
- Exit Do
- Case pmKeyDown
- if Msg.wParam = 13 Then
- Print 'Goto newline
- Else
- Print Chr(Msg.wParam);
- End If
- end select
- end if
- Sleep 1,1
- Loop
- Print !"\nWe have ended!"
- sleep
- Sub KeyboardListener
- Dim KeyPress as String
- Do
- Keypress = Inkey
- If KeyPress <> "" Then
- PostThreadMessage(MainThread, pmKeyDown, cast(wParam, KeyPress[0]), 0)
- End If
- Sleep 1,1
- Loop until Keypress = Chr(27)
- 'Post quit message that we have ended
- PostThreadMessage (MainThread, pmQuit, 0, 0)
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement