2014-10-03 8 views
0

이 작업을 수행하는 데 약간의 문제가 있습니다. 나는 아직 초보 프로그래밍이라고 인정해야한다. 글쎄, 난이 관리 방법 (VB.NET)에서이 작업을 수행하기위한 : 작동하더라도,초점이 맞지 않는 양식의 경우에도 사용자 지정 바로 가기 키

Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick If My.Computer.Keyboard.CtrlKeyDown Then MORE IRRELEVANT CODE HERE End If End Sub

그러나이 방법으로는 키 바로 가기 (전용 제어, 이동 등 customice 날 수 있도록 해달라고).

나는 시도의 differents의 것들에 너무 이런 짓을 :

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown If e.KeyCode = GlobalVariables.own_key Then MORE IRRELEVANT CODE HERE End If End Sub

내가 다른 버튼에서 GlobalVariables.own_key에 가치를 제공합니다. 이 작업은 완벽하지만 프로그램에만 초점이 맞춰질 때만 가능합니다.

그래서 ... 포커스가 없어도 몇 개의 키만있는 경우에도 첫 번째 코드 프로그램이 작동합니다 ... 두 번째 키를 사용하면 아무 키나 사용할 수 있지만 작동하지 않으면 작동하지 않습니다. 초점.

tryed는 "키보드 후크"를 이해하지만, 나는 그것을 이해하지 못했고 그 중 어떤 것도 관리 할 수 ​​없다는 것을 인정해야합니다. 당신의 도움이

답변

0

그것은 당신이 원하는 대답을하지 않을 수 있지만,이 대답에 대한

정말 정말 고마워요 VB.net 2012을 사용하여

. . NET에서 응용 프로그램에 포커스가 없으며 응용 프로그램 창 외부에서 마우스 이벤트를 가져올 수없는 경우 키에 대한 알림을받을 수 없습니다. "키보드 걸이"로 들여다 보면, VB와 관련하여 그 중요한 사실을 읽었어야합니다.

Global hooks are not supported in the .NET Framework

+0

답에 감사드립니다. 왜 "키보드 후크"가 나에게 효과적이지 않은지 설명합니다. 그러나 문제는 ... 프로그램에 초점이 맞지 않은 동안 알림 키를 얻으려고 관리했습니다. 키를 맞춤 설정 할 수 없습니다 (첫 번째 예). – vegetamaker

+0

타이머와 My.Computer.Keyboard ... 코드를 사용하여 다른 키를 누르는 동안 찾을 수는 있지만 신뢰할 수는 없습니다. 이 코멘트를 입력 할 때 일반 키를 누른 사실을 캡처하기 위해 타이머를 실행해야하는 빈도입니다. – Steve

+0

좋은 지적. 나는 그 문제를 이미 발견했다. 모든 답변에 많은 감사드립니다. – vegetamaker