Blog

2 August 2019

c# 마우스 후킹 예제

왼쪽 마우스 버튼을 누르면 폼이 맨 위로 오는 것을 중지해야합니다. 즉, 모두 함께, 양식에 도착에서이 마우스 이벤트를 중지합니다. 나는 마우스로 일부 파일을 선택할 때, 다른 응용 프로그램에서 파일 이름을 얻는 방법을 알고 싶어?? WH_MOUSE_LL 후크가 리본에 적용된 마우스 이벤트를 가로채지 않는 것 같습니다. 해결책이 있습니까? 몇 주 전에 나는 WPF와 마우스 나그라는 작은 윈도우 응용 프로그램을 구축했다. 마우스 Nag는 키보드를 사용하여 현재 실행 중인 응용 프로그램에 관계없이 마우스를 사용하는 것으로 이동하는 경우를 감지합니다. 이렇게하기 위해 .NET에서 Windows로 몇 가지 낮은 수준의 후크를 수행해야했습니다. 나는이 경험을 다소 흥미롭게 발견했기 때문에 시스템에 대한 입력의 마지막 시간뿐만 아니라 키보드와 마우스에서 입력할 수있는 마지막 시간을 각각 얻는 방법을 보여 주는 작은 샘플 응용 프로그램을 함께 넣었습니다. 소스 코드를 다운로드할 수 있습니다. 우리는 당신의 낮은 수준의 마우스 후크 코드를 사용하고 잘 작동합니다. 우리의 경우 사용자가 마우스 오른쪽 단추로 클릭하고 복사 옵션을 선택하면 몇 가지 작업을 수행해야합니다.how 을 찾을 수 있습니다. 그것을 찾을 수있는 방법이 있습니까? 저희를 도와주세요.

나는 원격 바탕 화면을 통해 win2k3 상자에이 코드를 실행할 때 내 클립 보드에 마우스 선택 텍스트를 얻기에 몇 가지 추가 도움이 필요 마우스 움직임이 올바르게 기록되지만 마우스 아래로 위쪽은 WM_MOUSEMOVE로 recored 어디 비스타에서와 같이 그것은 기록된다 당신이 마우스를 느리게 왼쪽을 클릭하면 WM_LBUTTONDOWN 다음 WM_LBUTTONUP로 올바르게 에드, 응용 프로그램은 중단 남아있다! 이미 보셨나요? 이 코드를 사용하면 mouseWheel 스크롤을 감지 할 수 있지만 스크롤이 위쪽 또는 아래쪽으로 스크롤되는지 여부를 어떻게 감지합니까? 나는 마우스EventArgs 오른쪽 같은 것이 필요하십니까? 위의 코드에 이것을 삽입하려면 어떻게해야합니까?! 이 라이브러리는 윈도우 글로벌 후크에 연결, 키보드와 마우스 클릭과 움직임을 추적하고 KeyEventArgs 및 MouseEventArgs와 공통 .NET 이벤트를 제기, 그래서 당신은 쉽게 당신이 필요로하는 모든 정보를 검색 할 수 있습니다 : 모든 좋은 의견에 감사드립니다 CodeProject 포럼 과 기대 당신의 화려한 기여를 globalmousekeyhook.codeplex.com이 예제와 키보드 후크 예제 잘 작동. 정보를 주셔서 감사합니다. 소스 (키보드, 마우스 등)에 관계없이 입력이 시스템에 주어진 마지막 시간을 찾는 것은 GetLastInputInfo라는 기능 덕분에 매우 쉽습니다. C# 클래스에서 외문 키워드가 있는 메서드를 만들어 GetLastInputInfo를 호출할 수 있습니다. 그것은 우리가 뿐만 아니라 만들 필요가 LASTINPUTINFO 라는 구조체를 기대 합니다. 그렇기도 하고 그렇지 않기도 하고. 글로벌 후크 WH_MOUSE_LL 및 WH_KEYBOARD_LL은 Windows NT/2000/XP에서만 모니터링할 수 있습니다. 다른 경우에는 응용 프로그램 내에서만 키 입력 및 마우스 이동을 캡처하는 응용 프로그램 후크(WH_MOUSE 및 WH_KEYBOARD)만 사용할 수 있습니다.

MouseDown 이벤트에서 마우스 클릭 이벤트를 생성할 수 있습니다. 그러나 더블 클릭 이벤트를 생성하는 방법을 모르겠습니다. gmamaladze/globalmousekeyhook의 신작에 대한 알림을 원하십니까? 누군가가 나에게이 마우스 후크에 대한 작업 코드 예제를 제공 할 수 있습니까? suppost 나는 하나의 버튼이 포함 된 응용 프로그램을 가지고 우리는 마우스가 [StructLayout (LayoutKind.순차적)] 개인 구조MSLLHOOKSTRUCT { 공공 포인트 PT를 클릭 할 때 우리는 그 버튼 텍스트를 얻을 수 있습니다; 공공 uint 플래그; 공공 uint 플래그; 공공 uint 시간; 공개 uint 시간; IntPtr dwExtraInfo; } 나는 거기에 후크와 시뮬레이터 코드를 많이 발견했지만, 그것의 많은 매우 조직되지 않았고, 사용하기 조금 어렵다. 여기서 목표는 .NET에서 기본적으로 지원되지 않는 마우스 및 키보드 작업에 매우 간단하고 사용하기 쉬운 라이브러리를 만드는 것입니다. 비슷한 호출로 마우스 포인터를 제어하는 방법이 있습니까? 나는 기쁨없이 CallNextHookEx 전에 값을 수정하려고 했습니다. 누구든지 솔루션에서 이에 대한 실무 예제가 있습니까?? CreateProcess 또는 ExecuteProcess의 후킹 API는 어떻습니까? 이 라이브러리를 사용하면 키보드와 마우스를 탭하여 응용 프로그램이 비활성 상태이고 백그라운드에서 실행되는 경우에도 해당 작업을 감지하고 기록할 수 있습니다.

Bize Ulaşın