1

我正在 Delphi 7 中为 Windows 编写屏幕录制应用程序,并希望知道鼠标指针何时在我的应用程序中发生变化(例如从普通指针到调整大小指针等)。

目前我正在做的是将鼠标指针绘制到内存中的位图上,每次鼠标移动(以及在计时器上),并将其与我绘制的最后一个位图进行逐个像素的比较。

虽然比较相当快(大约 2-5 毫秒),因为它经常发生(每次鼠标移动)它加起来。我认为必须有一种更快、更简单的方法!

4

1 回答 1

2

你有光标的句柄,对吧?如果它与您之前的句柄值相同,那么我认为假设它看起来也相同是合理的。如果光标看起来不同,它将具有不同的句柄值。

对于标准系统游标,这当然应该是正确的。如果您正在记录的应用程序正在运行时创建新游标,那么它可能能够更新当前游标的外观,而无需在操作系统中实际创建新游标对象(从而保持相同的句柄值),但是我认为这不太可能,特别是因为SetCursor当光标没有改变时立即退出,而且我希望 API 函数也不会进行您试图避免的图形比较。它只是比较HCursor值。

于 2008-12-11T06:28:02.523 回答