Visual Basic: Статьи


Автор статьи: Беседин Игорь

Как узнать изменилось ли время?

    Под изменением времени в этой статье подразумевается, ручное или программное вмешательство в изменение настройки часов компьютера. Расположите на форме Timer с Interval=1000 и вставьте код:

Private Declare Function GetMessage Lib "user32" Alias "GetMessageA" (lpMsg As MSG, ByVal hwnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long) As Long
Private Type MSG
hwnd As Long
message As Long
wParam As Long
lParam As Long
time As Long
End Type

Private Sub Timer1_Timer()
Const WM_TIMECHANGE = &H1E
Dim StructMSG As MSG
Call GetMessage(StructMSG, 0, 0, 0)
If StructMSG.message = WM_TIMECHANGE Then MsgBox "Время изменено!!!"
End Sub
   
Идея этого кода в том, что каждую секунду идет проверка на получение сообщения системе, и если получено сообщение WM_TIMECHANGE, то время изменено и на экране появляется соответствующая надпись.

При любом воспроизведении этой статьи (и других статей с этого сайта) ставьте ссылку на сайт www.igoryksoft.narod.ru