我正在为Delphi 7中的Windows编写一个屏幕录制应用程序,并希望知道我的应用程序中鼠标指针何时发生变化(例如从指向调整大小指针的正常指针等)。
目前我正在做的是每次鼠标移动时(以及在计时器上)将鼠标指针绘制到内存中的位图上,并将其与我绘制的最后一个位图进行逐像素比较。
虽然比较相当快(约2-5毫秒),因为它经常发生(每次鼠标移动),它会加起来。我认为必须有一种更快速,更简单的方法!
答案 0 :(得分:2)
你有光标的句柄,对吗?如果它与之前的手柄值相同,那么我认为假设它看起来也是一样的是合理的。如果光标看起来不同,它将具有不同的句柄值。
对于标准系统游标,这当然应该是正确的。如果您正在录制的应用程序在运行时创建新游标,则可能它将能够更新当前游标的外观而无需在OS中实际创建新游标对象(从而保持相同的句柄值),但我不认为这是可能的,尤其是当光标没有改变时,SetCursor
立即退出,我希望API函数不会进行你想要的图形比较也避免。它只是比较HCursor
值。