문제

Delphi 7의 Windows 용 스크린 녹화 앱을 작성하고 있으며 마우스 포인터가 내 앱의 언제 일반 포인터에서 크기 크기 포인터 등에 이르기까지) 언제 변경되는지 알고 싶습니다.

현재 내가하고있는 일은 마우스 포인터를 마우스가 움직일 때마다 (및 타이머에) 마우스 포인터를 메모리 인 비트 맵에 페인트하고 내가 페인트 한 마지막 비트 맵과 픽셀 비교로 픽셀을 수행하는 것입니다.

비교는 너무나 빠르지 만 (약 2-5ms) 너무 자주 발생하기 때문에 (모든 마우스 이동)가 더해집니다. 더 빠르고 덜 복잡한 방법이 있어야한다고 생각합니다!

도움이 되었습니까?

해결책

커서에 대한 손잡이가 있습니까? 그것이 이전에 가지고 있었던 것과 동일한 핸들 값이라면, 나는 그것이 동일하게 보인다고 가정하는 것이 합리적이라고 생각합니다. 커서가 다르게 보이면 핸들 값이 다릅니다.

그것은 표준 시스템 커서에게는 확실히 사실이어야합니다. 녹화하는 응용 프로그램이 실행 중에 새 커서를 생성하는 경우 아마도 실제로 OS에서 새로운 커서 객체를 만들지 않고 (따라서 동일한 핸들 값을 유지) 현재 커서의 모양을 업데이트 할 수는 있지만 특히 그 이후로는 그렇지 않습니다. SetCursor 커서가 변경되지 않았을 때 즉시 종료되며 API 기능이 피하려는 그래픽 비교를 수행하지 않을 것으로 예상됩니다. 그것은 단지 그것을 비교합니다 HCursor 값.

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