2017-12-27 10 views
-1

컴퓨터를 사용하는 동안 사용자가 마우스를 사용하는 시간과 위치를 확인해야합니다. 이를 위해 항상 포 그라운드에서 투명한 형태를 만들었습니다. 문제는 내가 예상했던대로 행동하지 않는다는 것입니다.배경 응용 프로그램에서 이벤트를 중단시키지 않고 투명한 양식의 MouseClick 이벤트

어떤 이유에서 RedbackgroundColortransparencyKey을 입력하면 MouseEvents를 읽을 수 있지만 배경에있는 앱에서는 아무 것도 할 수 없습니다. 투명하게 보이기 때문에 Form을 통해 볼 수 있지만 그 뒤에있는 앱에서는 마우스를 사용하여 어떤 동작도 할 수 없습니다.

반면에 backgroundColortransparencyKey에서 Control (시스템 색)으로 설정하면 다른 앱에서도 작동하지만 MouseEvents는 작동하지 않습니다.

MouseEvents를 사용하고 다른 Windows 응용 프로그램을 동시에 사용할 수있는 간단한 방법이 있습니까?

+0

확실히 좋은 접근 방법이 아닙니다. O.를 묻는 양식 대신 서비스를 만드는 것에 대해 생각해보십시오. 모든 마우스 클릭시 알림을받을 API가 있습니까? –

답변

2

시스템 레벨에서 마우스 또는 키보드 활동을 제어해야하는 경우 한 가지 방법 만 있지만 간단하지는 않습니다. 후크를 사용하십시오. 참조 용으로 SetWindowsHookEx을 참조하십시오.

SetWindowsHookEx는 키보드 및/또는 마우스 동작을 가로 채고 응용 프로그램이 정보를 검색 할 수있게 해주는 Windows API입니다.

Herehere (version 1) 몇 가지 예가 있습니다.