Что нового

Нужен скрипт, который будет отслеживать изменение времени и даты на компьютере

alex2887

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

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 381
Репутация
2 381
Как то так:

Код:
#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
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 381
Репутация
2 381
Или так:

Код:
#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
 

joiner

Модератор
Локальный модератор
Сообщения
3 191
Репутация
540
если есть у компа выход в инет, то можно запускать синхронизацию
хотя программка написана давно, но у меня на вынь 10 работает. самый отзывчивый сервер pool.ntp.org
 
Автор
A

alex2887

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


Добавлено:
Сообщение автоматически объединено:

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

joiner

Модератор
Локальный модератор
Сообщения
3 191
Репутация
540
Трафик маленький. А прогу чуть переделать, чтобы сверяла время и переводила в авторежиме
 
Верх