Такой вопросец возник: Есть программа, в ней цикл, который идёт достаточнро долго. Программа показывает прогресс в процентах. В XP и ранних версиях в цикле работало:
- Код: Выделить всё
Sleep 1
DoEvents
И программа нормально отвечала на запросы системы. В Висте же работает как-то странно. Если приложение активно, оно всё время норовит перейтив статус "не отвечает" (с появлением этой надписи в заголовке), но тутже возвращается в нормальное состояние. А если окно уходит на задний план, то оно наглухо уходит в статус "не отвечает". Можно ли как-нибудь решить проблему? Возможно есть АПИшная альтернатива DoEvents, которая будет рабоать в Висте корректней?
Был в своё время такой код:
- Код: Выделить всё
Dim M As Msg
If GetMessage(M, hwnd, 0, 0) Then
TranslateMessage M
DispatchMessage M
End If
Но он работает достаточно криво, когда к окну нет обращений.