>

내가하려는 일을 설명 할 수 있는지 봅시다. 현재 마우스는 화면 크기 범위 내에서만 이동하도록 제한되어 있습니다. 이 제한을 제거하고 마우스가 범위를 벗어나서 (이론적으로 무한한) 계속 만들고 내가 만들고있는 프로그램 내에서 측면을 제어하도록하고 싶지만 마우스를 화면 크기로 다시 이동하면 화면으로 돌아갑니다. . 그래서 내 생각에 일단 마우스가 화면의 가장자리에 도달하여 침입하면 마우스 프로그램 (및 키보드/클립 보드 메시지)이 전송되는 것을 억제하기 시작한 다음 원시 마우스 (및 키보드/클립 보드)를 계속 모니터링 할 것이라고 생각했습니다. ) 해당 시점부터 델타가 화면 범위로 돌아올 때까지 변경됩니다.

SetWindowsHookEx ()를 사용하고 WM_MOUSEMOVE와 같은 저수준 마우스 이벤트를 반환하는 실제 예제를 이미 가지고 있지만 반환 된 구조체 (MSLLHOOKSTRUCT)는 내가 가진 것에 비해 충분히 낮은 수준으로 보이지 않습니다 이 예제에서 화면 X 및 Y 좌표를 반환하지만 대신 "렌더링 된"좌표 대신 델타에 더 가까운 것이 필요합니다. 설명서에서 RAWMOUSE 데이터가 대신 필요한 것 같습니다. RAWMOUSE 데이터 유형에 대한 많은 문서가 있지만 해당 유형의 메시지를 얻기 위해 어떻게 연결하는지에 대한 문서는 많지 않습니다.

또한 언급했듯이 키보드 및 클립 보드 유형 이벤트도 모니터링하려고합니다 (마우스가 화면을 벗어 났을 때 억제하고 프로그램을 제어 함). 따라서 올바르게 후크 할 수있는 더 좋은 방법이 있다면 키보드/클립 보드 이벤트가 원시 데이터 일 필요는 없지만 키보드와 클립 보드가 마우스처럼 위반 될 수있는 경계가 없기 때문에 들립니다. 그러나 키보드/클립 보드 억제가 현재 문제의 범위를 벗어난 것으로 생각하지만 솔루션이 해당 문제를 해결하는 데 도움이되는 경우 도움이됩니다.

  • 답변 # 1

    와이즈 비즈

    There is plenty of documentation about the RAWMOUSE data type but not too much documentation on how you hook into to get that type of message.

    를 사용해야합니다  마우스를 등록하려면 RegisterRawInputDevices() 를 처리해야합니다.  움직임 데이터를 얻는 창 메시지. 자세한 내용은 MSDN의 Raw Input을 참조하십시오.

    단, RawInput API를 사용하여 마우스 활동 만 관찰 할 수 있지만 해당 API로 차단할 수는 없습니다. WM_INPUT 를 계속 사용해야합니다  그에 대한. 따라서 후크는 서로 조정해야합니다. 원시 입력과 키보드 후크 결합을 참조하여 CodeProject에서 여러 키보드의 입력을 선택적으로 차단하여 수행 방법에 대한 아이디어를 얻으십시오 (키보드 후크 대신 마우스 후크 사용).

    와이즈 비즈

    RawInput API를 사용하여 키보드 활동을 관찰 할 수 있습니다. SetWindowsHookEx() 사용  그것을 위해.

    클립 보드 이벤트는

    I'm also looking to monitor keyboard and clipboard type events also (to suppress when mouse is off-screen, controlling my program)

    를 사용해야합니다  (Vista 이상) 또는 SetWindowsHookEx()  (XP 및 이전). 자세한 내용은 MSDN에서 클립 보드 내용 모니터링을 참조하십시오.

    그러나 클립 보드에 변경이 발생하는시기 만 감지 할 수 있지만 클립 보드 변경을 차단하는 API 방법은 없습니다 ( AddClipboardFormatListener() 에 직접 연결해야 함)  그리고 SetClipboardViewer()  실행중인 모든 프로세스의 기능).

    SetClipboardData()

  • 이전 SQL Server에서 DateTime 형식을 확인하는 방법은 무엇입니까?
  • 다음 ExtJs의 CellEditing 플러그인에서 보안 문자열을 넣으면 실행됩니다