2009-04-09 5 views
0

스페이스 바를 눌렀을 때 날짜/시간을 기록하는 응용 프로그램이 있습니다. 불행히도, 여러 가지 이유로 인해 창에 항상 포커스가있는 것은 아닙니다. 예를 들어, 바이러스 검사기 팝업, 아이튠즈 업데이트, 윈도우 업데이트 등폴링 조이스틱 C#

그래서 나는 멋진 아이디어가 될 것입니다 조이스틱 버튼을 사용하는 것입니다, 그럼에도 불구하고 어떤 창문에 관계없이, 나는 항상 버튼 프레스 이벤트와 레코드를 감지 할 수 있습니다 밀린 날짜/시간. ,

은 지금은 몇 게임 튜토리얼을 살펴했지만, 컴퓨터가 느리고 화면이 자주 갱신하지 않는 경우 게임에서 내가 생각하기 때문에 그들은 화면 재생 이벤트에 연결된 조이스틱 폴링을 갖고있는 것 같다 어쨌든 조이스틱 버튼을 눌러도 아무런 차이가 없습니다. 정말 내 필요에 맞게하지 않습니다

, 그래서 나는 모든 너무 자주

내 질문

  1. 가 배경이 최선의 해결책을 스레드입니다있는 조이스틱을 폴링 스레드를 실행에서 찾고
  2. 얼마나 자주 조이스틱을 폴링해야합니까?
  3. 폴링 빈도를 결정하는 데 어떤 타이머를 사용해야합니까?

응답을 키보드와 적어도 동일하게하고 싶습니다. 또한 트리거가 눌러져 있으면 자동 반복 기능이 없는지 확인해야합니다.

어떤 샘플 코드 (C#을)

감사

감사

알렉스

+0

keylogging 응용 프로그램을 만드는 방법을 가르쳐 주실 것을 본질적으로 요구합니다. 진심으로,이 응용 프로그램의 사용은 무엇입니까? –

+0

조이스틱을 키로깅하는 경우, 그 용도는 무엇입니까? 나는 타이밍 이벤트입니다. 버튼을 누르면 시간이 기록됩니다. 나중에 나는 버튼을 광 센서로 바꿀 것이다, 당신은 경마장 등을 돌아 다니는 슬롯 카를 안다. – bumperbox

답변

1

가장 좋은 방법은 양식에 타이머 객체를 생성하고, 틱 이벤트에 조이스틱 체크 넥타이하는 것입니다.

나는 또한 이와 같이 간단한 작업 (매초 10 회)을 실행하면 CPU 사용에 거의 영향을 미치지 않는다는 것을 알았습니다.

2

키보드 이벤트를 캡처 할 수 없어서 조이스틱을 폴링하려는 경우 전략을 다시 작성해야한다고 생각합니다.

양식에 포커스가 없더라도 키보드 상태를 확실히 알 수있는 방법이 있습니다.

  1. SetWindowsHookEx API 호출을 사용하여 C#에서 수행 할 수있는 시스템 전체 키보드 후크를 설정할 수 있습니다.

이것은 관리되지 않는 코드와 Windows API에서 조금 파고 들지만, 조이스틱을 폴링하는 것보다 나은 생각은 컴퓨터에서 조이스틱을 추가 할 필요가 없기 때문입니다. 스페이스 바를 누르십시오.

Google에서 C#의 키보드 후크를 검색합니다. 많은 사람들이 믿는 것보다 쉽습니다.

타이머 개체를 사용하여이 작업을 수행하지 않는 것이 좋습니다. 왜냐하면 당신이 열쇠를 눌러서해야한다고 했으니까요.

1

AHK (Auto HotKey)과 비슷한 것을 사용합니다. EXE로 컴파일 할 수있는 간단한 언어이며 키보드와 마우스를 자동화하기 위해 설계되었습니다. 조이스틱으로 얼마나 잘 작동하는지 확신 할 수는 없지만 확실합니다. 그들이 Wii 리모컨을위한 몇 가지 물건을 쓸 수 있었을 가능성이 있습니다.

또한 IRC 채널 및 포럼에는 필요한 경우 도움을 줄 수있는 사람들이 항상 있습니다.