Автор Тема: Нужен скрипт, который будет отслеживать изменение времени и даты на компьютере  (Прочитано 361 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

Оффлайн alex2887 [?]

  • Новичок
  • *
  • Сообщений: 50
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Всем доброго дня. Нужен скрипт, который будет отслеживать изменение даты и времени на компьютере. В чем заключается проблема: в магазине стоит компьютер (ноутбук), к которому подключена онлайн-касса и когда компьютер включен, то иногда бывает, что автоматом переводится дата: месяц, день, смену года не замечали. Дата изменяется рандомно (вчера изменилось на 7 апреля, сегодня уже на 10 апреля). Можно было бы прогнать антивирусом, но я не знаю какие там установлены программы, как они активированы, как бы чего не сломать, продавцы сами в состоянии перевести дату, их бы хотя бы предупредить, а то когда переводится время, это доставляет очень много проблем. Заранее спасибо за помощь.
Операционная система Windows XP(как мне сказали, хотя может и не XP), это все что известно.

Русское сообщество AutoIt


Оффлайн ЭйчЭйч [?]

  • Сообщений: 119
  • Репутация: -6
    • Награды
  • Версия AutoIt: 3.3.14.0
alex2887, лучше позвать специалиста, чтобы проверил компьютеры.

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 8013
  • Репутация: 2304
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Как то так:

Код: AutoIt [Выделить]
#include <Date.au3>

HotKeySet('{ESC}', '_Exit')

AdlibRegister('_TimeMonitor', 900)

While 1
    Sleep(10)
WEnd

Func _TimeMonitor()
    Local Static $sTime = _NowCalc()
    Local $sDiff = _DateDiff('s', $sTime, _NowCalc())
   
    If $sDiff > 1 Or $sDiff < 0 Then
        MsgBox(64, @ScriptName, 'Time/Date changed', 0, Default)
    EndIf
   
    $sTime = _NowCalc()
EndFunc

Func _Exit()
    Exit
EndFunc



Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Помечен как лучший ответ пользователем alex2887 Отправлен Март 21, 2019, 17:23:59

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 8013
  • Репутация: 2304
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Или так:

Код: AutoIt [Выделить]
#Include <Date.au3>
#Include <GUIConstantsEx.au3>
#Include <WindowsConstants.au3>

Global $sPrev_DateTime

$hForm = GUICreate('System Time Changed Example', 350, 200)
$iInfo_Lbl = GUICtrlCreateLabel('Waiting for time/date change...', 20, 20, 310, 60)

AdlibRegister('_SetPrevDateTime', 900)
GUIRegisterMsg($WM_TIMECHANGE, 'WM_TIMECHANGE')

GUISetState(@SW_SHOW, $hForm)

Do
Until GUIGetMsg() = -3

Func _SetPrevDateTime()
    $sPrev_DateTime = _NowCalc()
EndFunc

Func WM_TIMECHANGE($hWnd, $iMsg, $wParam, $lParam)
    Local Static $fTIMECHANGE = False
   
    Switch $hWnd
        Case $hForm
            Local $sDiff = _DateDiff('s', $sPrev_DateTime, _NowCalc())
           
            If $sDiff > 1 Or $sDiff < 0 Then
                GUICtrlSetData($iInfo_Lbl, StringFormat('Previous date && time: %s\nCurrent date && time: %s', $sPrev_DateTime, _NowCalc()))
                WinActivate($hForm)
            EndIf
    EndSwitch
   
    Return $GUI_RUNDEFMSG
EndFunc


Русское сообщество AutoIt


Оффлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2905
  • Репутация: 489
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
если есть у компа выход в инет, то можно запускать синхронизацию
хотя программка написана давно, но у меня на вынь 10 работает. самый отзывчивый сервер pool.ntp.org
Были времена, когда солнце было ярче, трава зеленее, а водка сорокоградуснее

Оффлайн alex2887 [?]

  • Новичок
  • *
  • Сообщений: 50

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
если есть у компа выход в инет, то можно запускать синхронизацию
хотя программка написана давно, но у меня на вынь 10 работает. самый отзывчивый сервер pool.ntp.org
Выход в интернет есть, но там используется усб модем 3G, а данная программа много трафика потребляет? Да и там продавщицы, смогут ли они разобраться вот в чем вопрос....


Добавлено: Март 21, 2019, 17:21:33
Спасибо Всем участникам, за помощь в решении моей проблемы, уже не в первый раз выручают на данном форуме!

Оффлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2905
  • Репутация: 489
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Трафик маленький. А прогу чуть переделать, чтобы сверяла время и переводила в авторежиме

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
5322 Просмотров
Последний ответ Ноябрь 30, 2015, 02:46:35
от Garrett
2 Ответов
4330 Просмотров
Последний ответ Март 14, 2015, 00:30:13
от SkinWarS
5 Ответов
2420 Просмотров
Последний ответ Июль 18, 2013, 14:19:16
от atlake
7 Ответов
3630 Просмотров
Последний ответ Июнь 26, 2014, 23:28:17
от alex33
17 Ответов
7404 Просмотров
Последний ответ Декабрь 08, 2014, 16:22:00
от Perfix23
2 Ответов
1188 Просмотров
Последний ответ Февраль 02, 2015, 17:33:10
от madmasles
0 Ответов
1442 Просмотров
Последний ответ Февраль 16, 2015, 17:30:38
от itskun
0 Ответов
1692 Просмотров
Последний ответ Август 05, 2015, 08:38:46
от gotfrag
4 Ответов
781 Просмотров
Последний ответ Декабрь 05, 2017, 19:03:21
от RuslanTigran
3 Ответов
1725 Просмотров
Последний ответ Февраль 02, 2018, 07:01:41
от Astel064