Да ещё и досовская... Вообще чудеса, да?ANDLL писал(а):2tyomitch:
Резидентная программа на VB![]()
Заменяющая прерывания
Windows посылает сообщение WM_TIMECHANGE при смене системного времени. А дальше ручками восстанавливаем.
A.A.Z. писал(а):Есть кривой способ:
1: каждую секунду в переменную NewTime записывать время
2: если оно не удовлетворяет условию (NewTime = OldTime + #00:00:01#), то присвоить Time = OldTime + #00:00:01#
3: если все нормально, OldTime = NewTime
4: GoTo 1
ANDLL писал(а):1. Резидент и прирывания - вещи взаимные.
ANDLL писал(а):2. C-шная операция & возвращает ВИРТУАЛЬНЫЙ адрес чего-то там. А в таблице прирываний должен быть ФИЗИЧЕСКИЙ адрес. Как, tyomitch, вы предлагаете обойти эту проблему?
ANDLL писал(а):Так:
если мы пишем досовсукю программу то у нее будет своя таблица прерывании, не связанная с системной.
ANDLL писал(а):Да и вообще WM_TIMECHANGE: forever
neprden писал(а):А ловушки на вызов SetSystemTime ?
правда на с придется поковырять
Сейчас этот форум просматривают: AhrefsBot и гости: 14