문제

불행히도 우주 막대를 누르는 날짜/시간을 기록하는 응용 프로그램이 있습니다. 불행히도 창에 항상 초점이 맞지 않습니다. 예 : 바이러스 체커 팝업, iTunes 업데이트, Windows 업데이트 등

그래도 멋진 아이디어는 조이스틱 버튼을 사용하는 것입니다. 그런 다음 어떤 창이 초점을 맞추는 지에 관계없이 버튼 프레스 이벤트를 항상 감지하고 누른 날짜/시간을 기록 할 수 있습니다.

이제 몇 가지 게임 튜토리얼을 살펴 보았지만 조이스틱 폴링이 화면 새로 고침 이벤트에 묶여있는 것 같습니다. 게임에서는 컴퓨터가 느리고 화면이 자주 새로 고침되지 않아 조이스틱 버튼을 갖는 것 같습니다. 압박은 어쨌든 아무런 차이가 없을 것입니다.

그것은 실제로 내 필요에 맞지 않기 때문에 조이스틱을 너무 자주 투표 할 스레드를 실행하고 있습니다.

내 질문입니다

  1. 배경 스레드는 최상의 솔루션입니다
  2. 조이스틱을 얼마나 자주 투표 해야하는지
  3. 폴링 주파수를 결정하는 데 어떤 종류의 타이머를 사용해야합니다.

응답이 키보드와 적어도 동일하게되기를 바랍니다. 또한 트리거가 고정 된 경우 자동 반복되지 않도록해야합니다.

모든 샘플 코드 (C#)에 감사드립니다

감사해요

알렉스

도움이 되었습니까?

해결책

가장 좋은 방법은 양식에 타이머 개체를 만들고 조이스틱 확인을 진드기 이벤트에 묶는 것입니다.

또한 100ms마다 이와 같은 간단한 물건을 실행하는 것이 CPU 사용에 무시할 수있는 영향을 미친다는 것을 알았습니다.

다른 팁

키보드 이벤트를 캡처 할 수 없기 때문에 조이스틱을 폴링하려면 전략을 재 작업해야한다고 생각합니다.

양식에 초점을 맞추지 않더라도 키보드 상태를 알 수있는 방법이 있습니다.

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

이것은 관리되지 않는 코드와 Windows API에서 약간 다루어 지지만, 조이스틱을 폴링하는 것보다 더 나은 아이디어라고 생각합니다.

C#의 키보드 후크에 대해 Google에서 약간 검색하십시오. 많은 사람들이 믿는 것보다 쉽습니다.

나는 타이머 개체를 사용하여 이것을하는 것이 전혀 좋은 생각이라고 생각하지 않습니다. 당신이 열쇠의 언론에서해야한다고 말했기 때문입니다.

같은 것을 사용하십시오 아크 (자동 핫키) 그것은 EXE에 편집 할 수 있고 키보드와 마우스를 자동화하도록 설계된 간단한 언어이므로 조이스틱으로 얼마나 잘 작동하는지 100% 확신 할 수는 없지만 물건을 쓸 수 있다고 확신합니다. Wii 리모컨의 경우.

또한 IRC 채널과 포럼에는 항상 필요한 경우 사람들이 기꺼이 도와 줄 사람이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top