Как узнать что указатель мыши перестал показывать "занято".
Надо для реализации "тормозилки" - пока система не освободится...
Кто знает - как программно можно отследить что указатель мыши изменнился - скажем на "часики" и обратно. Например при запуске чег-нибуть большого из работающей программы.
Надо для реализации "тормозилки" - пока система не освободится...
Private Declare Function LoadCursor Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long
Private Declare Function GetCursor Lib "user32" () As Long
Private Const IDC_WAIT = 32514
Private Declare Function GetLastError Lib "kernel32" () As Long
...
Dim hCurrentCursor As Long, hHourglass As Long
hCurrentCursor = GetCursor
hHourglass = LoadCursor(0, IDC_WAIT)
...
If hCurrentCursor = hHourglass Then
' Если мы здесь, то курсор - песочные часы
End If
А отследить момент изменения курсора кроме как по таймеру ты никак не сможешь. Если только не научишься перехватывать API вызовы через Dll :)
За код - большое спасибо! Сейчас буду пробовать...
Насчет таймера:
Поскольку моя затача - тормозилка до момента освобожнения системы, то проще всего будет сделать цикл типа:
Do
sleep 10
Loop until hCurrentCursor <> hHourglass