Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在 Delphi 7 中为 Windows 编写屏幕录制应用程序,并希望知道鼠标指针何时在我的应用程序中发生变化(例如从普通指针到调整大小指针等)。
目前我正在做的是将鼠标指针绘制到内存中的位图上,每次鼠标移动(以及在计时器上),并将其与我绘制的最后一个位图进行逐个像素的比较。
虽然比较相当快(大约 2-5 毫秒),因为它经常发生(每次鼠标移动)它加起来。我认为必须有一种更快、更简单的方法!
你有光标的句柄,对吧?如果它与您之前的句柄值相同,那么我认为假设它看起来也相同是合理的。如果光标看起来不同,它将具有不同的句柄值。
对于标准系统游标,这当然应该是正确的。如果您正在记录的应用程序正在运行时创建新游标,那么它可能能够更新当前游标的外观,而无需在操作系统中实际创建新游标对象(从而保持相同的句柄值),但是我认为这不太可能,特别是因为SetCursor当光标没有改变时立即退出,而且我希望 API 函数也不会进行您试图避免的图形比较。它只是比较HCursor值。
SetCursor
HCursor