2013-06-13 1 views
2

프로그래밍 방식으로 누가 PC에서 마우스 (및 마우스)를 누가 제어하는지 알 수있는 방법이 있습니까? 최근에 LogMeIn (logmein.com)을 설치했고 (1) 직접 사용자 또는 원격 사용자가 마우스를 클릭/이동했는지 프로그램 내에서 알 수 있는지, (2) 독립 실행 형 프로그램을 작성하는지 프로그램은 단순히 마우스 이벤트 (모든 응용 프로그램에서) 및 마우스 이벤트가 로컬 또는 원격 사용자에 의해 생성되었는지 여부를 보여주는 프로그램입니다. 나는 Win32 hook에 다소 익숙하지만, 이런 종류의 정보를 줄 수 있다고 생각하지는 않는다. (1)에 대해서는 일반적인 요청처럼 보일 것입니다. 나는. "로컬 인 경우 암호 변경과 관련된 버튼 누르기 만 완료 할 수 있습니다."또는 이와 비슷한 내용입니다.C# 또는 C++을 사용하여 누가 PC에서 마우스를 제어하는지 (프로그래밍 방식으로)

로컬 사용자가 마우스 또는 트랙 패드를 사용하는지 여부를 묻는 질문은 중요합니다.

감사합니다, 데이브

당신이 장치 API에게 당신의 정보를 얻으려면 윈도우의를 연결할 수
+0

질문의 마지막 부분에 따라 컴퓨터에서 터치 패드 또는 마우스 또는 모두가 활성화되어 있는지 감지하기 위해 이와 비슷한 것을 사용한다고 가정합니다. http://support.microsoft.com/kb/311272 – CodeCamper

+0

감사합니다. CodeCamp 님, 감사하겠습니다. DevCon을 처음 보았을 때, 어떤 마우스를 제어 할 것인지를 결정하는 데 사용하는 방법을 알지 못합니다. 모든 마우스 장치를 나열하는 데 사용할 수있는 것 같습니다. 그리고 물론, 누군가가 LogMeIn을 통해 물건을 제어하는지 파악하는 문제에 도움이 될 것이라고 생각하지 않습니다 (지적한대로). 감사! – Dave

+0

게시 한 이래로 나는이 링크를 stackoverflow에서 찾았습니다. http://stackoverflow.com/questions/12622312/how-to-find-where-a-mouse-event-come-from?rq=1 허용 된 답변의 소유권 주장 그것은 자신의 마우스 드라이버를 만들어서 만 (신뢰할 수있게) 할 수 있다는 것입니다. 꽤 많은 일처럼 들립니다. – Dave

답변

0

게시 이후 기본적으로 질문에 답하는이 게시물을 발견했습니다.

C# Get Mouse handle (GetRawInputDeviceInfo)

나는, (사용 위의 예로서) 윈폼 대신 WPF를 사용하고자하는 분들을 위해 그 추가 ComponentDispatcher.ThreadFilterMessage 체크 아웃 (WPF) 또는의 IMessageFilter (Windows Forms의) 것입니다.

위 게시물을 기반으로 몇 가지 프로그램을 작성했습니다 (하나는 기본적으로 위의 몇 가지 사소한 추가 사항이 있고 다른 하나는 WPF (WinForms와 반대)입니다. GitHub을 이해할 수 있다면 모든 코드를 게시하고 여기에 의견을 추가 할 것입니다. 그러나 위의 게시는 확실히 필요한 모든 것을 제공합니다.

1

다음 마우스 아마 때 사용자의 이삿짐 마우스,하지만 경우에 호출되지 않습니다 API를 이동하면 LogMeIn을 그렇다면 아마 C WinAPI와 같은 SetMousePointerPos를 호출 할 것입니다.

관련 문제