0
정말 간단합니다. 포커스가없는 경우에도 KeyDown 이벤트를 모니터링하는 응용 프로그램을 원합니다.Visual Basic에서 포커스가없는 KeyDown 함수 수행
Private Sub Form1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyData
Case Keys.MediaStop
PictureBox2_Click(sender, e)
Case Keys.MediaPlayPause
PauseToolStripMenuItem_Click(sender, e)
Case Keys.MediaNextTrack
SkipTrackToolStripMenuItem_Click(sender, e)
Case Keys.MediaPreviousTrack
PreviousTrackToolStripMenuItem_Click(sender, e)
End Select
End Sub
위 코드는 음악 플레이어 용입니다. 함수는 미디어 키 ('Fn'+ 'Home', 'Fn'+ 'Pg Up'등)를 누를 때 호출됩니다.
이전 의견에서 누군가가 해결책을 찾기 위해 WH_KEYBOARD_LL을 조사했지만 내가 정직하다면 그걸 많이 이해하지 못했을거야.
UPDATE : 키워드에서 지원되지 않습니다 '상관으로'는이 기능을 '선언'으로
제안한 link은 크지 않다.
이것은
비주얼 스튜디오 밑줄되어 모두의 호버에 굵은 에 기록됩니다Public Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As **Any**) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public Declare Function SetWindowsHook Lib "user32" Alias "SetWindowsHookA" (ByVal nFilterType As Long, ByVal pfnFilterProc As Long) As Long
Public 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
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As **Any**, Source As **Any**, ByVal Length As Long)
**Global** Const WH_KEYBOARD_LL = 13
Public Const HC_ACTION = 0
Structure HookStruct
Dim vkCode As Long
Dim scancode As Long
Dim flags As Long
Dim time As Long
Dim dwExtraInfo As Long
End Structure
오류가 '없음'이 나에게 메시지를 제공합니다 ... 얼마나 내가 함께있어입니다 '글로벌'의 호버에
는 "구문 오류"윈도우 API를 사용하여 키보드 훅을 구현
이 –
확인 1. http://msdn.microsoft.com/en-us/library/347xhy8d.aspx 2. http://www.codeproject.com/Articles 위의 업데이트를 참조하십시오/8641/Copy-Equivalent-of-CopyMemory-in-NET ...... .NET 버전의 경우 다음 링크를 확인하십시오. http://sim0n.wordpress.com/2009/03/28/vbnet-keyboard-hook -수업/ – rags