나는 좌절감을 느낍니다. 내 응용 프로그램에 집중 여부에 관계없이 모든 창에서 키 누르기 이벤트를 캡처하는 좋은 코드 조각을 찾는 데 몇 시간을 보냈습니다. 백그라운드에서 작업하여 F5 키를 캡처하는 응용 프로그램을 만들어야합니다. 누구든지 코드를 가지고 있습니까?VB.NET에서 Keypress 이벤트 캡처
답변
이 모든 C# 및 OP는 VB.Net에 대해 질문했지만 개념은 동일합니다 ...
나는 this project을 사용하여 글로벌 키 프레스를 처리하는 간단한 유틸리티를 작성했습니다. 라이브러리를 다운로드하고 프로젝트에 참조를 추가하고 Gma.UserActivityMonitor
네임 스페이스를 가져 오십시오.
양식로드 이벤트에서 핸들러를 추가하십시오.
HookManager.KeyDown += KeyDown;
HookManager.KeyUp += KeyUp;
이러한 방법 중 하나를 누르면 제어 키가 눌러집니다.
void KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.LControlKey || e.KeyCode == Keys.RControlKey)
{
//Do Stuff
}
}
void KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.LControlKey || e.KeyCode == Keys.RControlKey)
{
//Do Stuff
}
}
이렇게 작성된 방식으로 다른 앱에서 처리 할 수 있습니다. 키를 "캡처"하고 다른 응용 프로그램에서 처리를 중단하려면 이벤트 처리기에서 Handled 속성을 true로 설정하십시오.
e.Handled = true;
편집 : VB.Net
에 위의 코드의 변환이 VB.Net에서 핸들러를 추가하려면 AddHandler
및 AddressOf
를 사용합니다.
AddHandler HookManager.KeyDown AddressOf KeyDown
기능 KeyDown
및 KeyUp
은 다음과 같이 보일 것이다.
Sub KeyDown(ByVal sender as Object, ByVal e as KeyEventArgs)
If e.KeyCode = Keys.LControlKey Or e.KeyCode = Keys.RControlKey Then
'Do Stuff
End If
End Sub
F5 키 누르기 이벤트를 포착 할 양식에서 키 누르기 이벤트 ... 양식을 사용해야합니다.
확인이 : 형태는 꽤 낮은 수준의 물건에 들어갈 필요가 포커스가 없을 때 위해 http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keypress(v=vs.71).aspx
키를 눌러 이벤트를 캡처 할 수 있습니다. 글로벌 키보드 후크는 C# 또는 VB.NET 보통 불가능하지만, 여기 당신에게 도움이 될 기사입니다 :
Managing Low-Level Keyboard Hooks in VB .NET
것은 * 또한 기사
내가 세부에서 VB.NET 솔루션 대답 this topic의 중복,있다. Tim Coker가 제안한 것과 동일한 후크 라이브러리를 사용합니다.
- 1. BlackBerry - KeyPress 이벤트 시뮬레이션
- 2. KeyPress 이벤트 전달
- 3. jQuery의 keypress 이벤트
- 4. 안드로이드의 keypress 이벤트
- 5. jQuery keypress() 이벤트 리스너 문제
- 6. VB.net에서 양식 Paint 이벤트
- 7. VB.net에서 이벤트 리디렉션
- 8. 캡처 이벤트 제출
- 9. Silverlight에서 키 이벤트 캡처
- 10. 캡처 마우스 이벤트
- 11. "아래로 스크롤"이벤트 캡처?
- 12. Intent.ACTION_MEDIA_BUTTON 이벤트 캡처
- 13. 웹 페이지에서 이벤트 캡처
- 14. 프로그래밍 방식으로 wxWidgets에서 keypress 이벤트 생성하기
- 15. 아래쪽 화살표가 실행되지 않습니다. KeyPress 이벤트
- 16. jQuery keypress() 핸들러 : 이벤트 흐름을 관리합니다.
- 17. jquery에서 keyup, keypress 및 onblur 이벤트 결합
- 18. 타이머 이벤트 -vb.net에서 사라지는 컨트롤
- 19. vb.net에서 이벤트 발생시 기능 정지
- 20. Keydown 이벤트 캡처 숫자 키
- 21. Python으로 Windows 클릭 이벤트 캡처
- 22. beforeunload 이벤트 내의 URL 캡처
- 23. Dojox GFX에서 키보드 이벤트 캡처
- 24. 글로벌 터치 이벤트 캡처 (Symbian)
- 25. mx에서 키 이벤트 캡처 : 이미지
- 26. 네트워크 상태 변경 이벤트 캡처
- 27. ItemsControl 항목에서 클릭 이벤트 캡처
- 28. 부모 창에서 WM_MOUSEMOVE 이벤트 캡처
- 29. Java2D : Line 객체의 이벤트 캡처
- 30. Android 소프트 키 이벤트 캡처
저는 VB.NET을 처음 접했을뿐입니다. 원시, 간단한 VB.NET에서 답을 줄 수있는 방법이 있습니까? – Logan