在我的WinForms应用程序中,我使用SystemParameters.MouseHoverTimeMilliseconds
属性 ,该属性依次使用SPI_GETMOUSEHOVERTIME
input参数 (根据ILSpy)调用SystemParametersInfo
函数 。
我正在使用该属性的返回值来设置我的窗体中的一些定时器的时间间隔。
这一切运作良好。
现在我在问自己,这是否可能是不够的,因为在一些“奇怪的”系统上可能是零(或更less)。 在这种情况下,我将不得不提供一个非零回退。
既然我没有find我的假设的证据,有人可以在这里带来一些光明?
从MSDN …
检索鼠标指针必须停留在TrackMouseEvent的悬停矩形中以生成WM_MOUSEHOVER消息的时间(以毫秒为单位)。 pvParam参数必须指向一个接收时间的UINT变量。
指定的时间应该在USER_TIMER_MAXIMUM和USER_TIMER_MINIMUM之间。 如果uiParam小于USER_TIMER_MINIMUM,则该函数将使用 USER_TIMER_MINIMUM 。 如果uiParam大于USER_TIMER_MAXIMUM,则该函数将是USER_TIMER_MAXIMUM。
如果uElapse小于USER_TIMER_MINIMUM ( 0x0000000A ),则超时设置为USER_TIMER_MINIMUM。 如果uElapse大于USER_TIMER_MAXIMUM(0x7FFFFFFF),则超时设置为USER_TIMER_MAXIMUM。