<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Как изменить время и дату в системе?]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10026&amp;type=atom" />
	<updated>2021-12-12T09:12:45Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=10026</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=151139#p151139" />
			<content type="html"><![CDATA[<p><strong>ruslanchus</strong>, добро пожаловать на форум! Ознакомьтесь, пожалуйста, с <a href="https://forum.script-coding.com/misc.php?action=rules">Правилами</a>, отредактируйте свой пост. Обратите внимание на заглавные <a href="https://forum.script-coding.com/misc.php?action=rules#literacy">буквы</a> в начале и точки в конце предложений.<br />Запросы лучше помещать в <a href="https://forum.script-coding.com/viewforum.php?id=28">Коммерческий раздел</a>.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2021-12-12T09:12:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=151139#p151139</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=151138#p151138" />
			<content type="html"><![CDATA[<p>запрос такой: надо чтобы месяц 10 был число 10 а время также осталось</p>]]></content>
			<author>
				<name><![CDATA[ruslanchus]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42214</uri>
			</author>
			<updated>2021-12-12T09:09:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=151138#p151138</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88368#p88368" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>По моим представлениям, такое обычно применяется для бесконечного продления срока пользования триал-версией программы.</p></blockquote></div><p>Перевод времени вполне делается вручную (как сказал бы <strong>The gray Cardinal</strong> - &quot;козлиная защита&quot;). А упомянутая программа просто избавляет от ручных манипуляций, то бишь автоматизирует.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2014-11-15T06:20:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88368#p88368</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88349#p88349" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p>По-моему, взломом и вредительством здесь не пахнет.</p></blockquote></div><p> По моим представлениям, такое обычно применяется для бесконечного продления срока пользования триал-версией программы.</p></blockquote></div><p>&nbsp; &nbsp; &nbsp;И для разработки способов борьбы с этим трюком.</p><br /><p>&nbsp; Код из 14 работает великолепно, за что огромное спасибо!</p><br /><div class="quotebox"><blockquote><p>Пробовал. До сих пор пользуюсь. Ни разу не глючло.</p></blockquote></div><p>&nbsp; Не знаю как так получается. У меня 1 раз из 3-4 обязательно &quot;забывало&quot; вернуть время.</p>]]></content>
			<author>
				<name><![CDATA[Pogodin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30956</uri>
			</author>
			<updated>2014-11-14T11:17:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88349#p88349</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88340#p88340" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p>По-моему, взломом и вредительством здесь не пахнет.</p></blockquote></div><p> По моим представлениям, такое обычно применяется для бесконечного продления срока пользования триал-версией программы.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2014-11-14T08:18:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88340#p88340</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88336#p88336" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><div class="quotebox"><cite>Pogodin пишет:</cite><blockquote><p>Дата должна временно меняться для запускаемой программы</p></blockquote></div><p>Вообще-то это противоречит <a href="http://forum.script-coding.com/rules.html#2.9.">правилам форума</a>.</p></blockquote></div><p>По-моему, взломом и вредительством здесь не пахнет.</p><div class="quotebox"><cite>Pogodin пишет:</cite><blockquote><div class="quotebox"><cite>stealzy пишет:</cite><blockquote><p>А зачем изобретать велосипеды?<br />Например RunAsDate</p></blockquote></div><p>&nbsp; Пробовал. Глючит люто.</p></blockquote></div><p>Пробовал. До сих пор пользуюсь. Ни разу не глючло.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2014-11-14T07:24:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88336#p88336</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88329#p88329" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>stealzy пишет:</cite><blockquote><p>А зачем изобретать велосипеды?<br />Например RunAsDate от NirCmd.</p></blockquote></div><p>&nbsp; Пробовал. Глючит люто. Решил, что самому сделать надёжнее. Но не одолел, прибежал к знатокам за помощью.&nbsp; Пока не тестировал, но всё равно спасибо всем помогающим!</p>]]></content>
			<author>
				<name><![CDATA[Pogodin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30956</uri>
			</author>
			<updated>2014-11-13T19:41:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88329#p88329</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88302#p88302" />
			<content type="html"><![CDATA[<p>Вот пускай и использует готовый &quot;инструментарий&quot;, который к тому же работает без перевода системных часов.</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2014-11-13T12:37:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88302#p88302</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88298#p88298" />
			<content type="html"><![CDATA[<p>В посте #13 внезапно выяснилось, что ТС хочет защитить свою программу от такого воздействия.</p>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2014-11-13T12:27:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88298#p88298</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88296#p88296" />
			<content type="html"><![CDATA[<p>А зачем изобретать велосипеды?<br />Уже есть куча программ, чтобы запускать другие программмы с определенного времени. Например RunAsDate от NirCmd.</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2014-11-13T12:10:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88296#p88296</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88287#p88287" />
			<content type="html"><![CDATA[<p>Да, тоже хотел это найти, но руки не дошли. Я бы ещё сначала проверил доступность сервера пингом.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2014-11-13T11:22:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88287#p88287</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88272#p88272" />
			<content type="html"><![CDATA[<p>И, собственно, для защиты от такого трюка напрашивается метод получения времени через интернет. ))<br />Один из вариантов, с <a href="http://www.autohotkey.com/board/topic/108616-get-time-in-utc-from-internet-without-binary/">англоязычного форума.</a><br /></p><div class="codebox"><pre><code>MsgBox, % GetTimeDate()
 GetTimeDate() {
     WebRequest := ComObjCreate(&quot;WinHttp.WinHttpRequest.5.1&quot;)
     WebRequest.Open(&quot;GET&quot;, &quot;http://www.timeanddate.com/worldclock/russia/moscow&quot;)
     WebRequest.Send()
     return RegExReplace(WebRequest.ResponseText, &quot;s).+id=ct class=h1&gt;(.+?)&lt;/span&gt;.+?id=ctdat&gt;(.+?)&lt;/span&gt;.+&quot;, &quot;$1`n$2&quot;)
 }
</code></pre></div><p>Для оффлайн проверки можно в папке %TMP%&nbsp; взять время изменения/создания файлов, если время в системе было переведено непосредственно перед использованием защищаемой программы, то (как правило) точность будет в пределах нескольких минут.</p>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2014-11-13T07:45:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88272#p88272</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88263#p88263" />
			<content type="html"><![CDATA[<p>Запускаем скрипт и отправляемся в 17:30 восьмого января текущего года. При выходе (клавиша Esc) возвращаемся в настоящее время.<br /></p><div class="codebox"><pre><code>; указываем только те параметры, которые хотим изменить, остальные &quot;&quot;
oTime := { year:  &quot;&quot;    ; число от 1601 до 30827
         , month: 1     ; 1 — 12
         , day:   8     ; 1 — 31
         , hour:  17    ; 0 — 23
         , min:   30    ; 0 — 59
         , sec:   &quot;&quot; }  ; 0 — 59

StartTickCount := A_TickCount
StartTime := GetLocalTime()   ; в переменной StartTime время начала работы скрипта в формате YYYYMMDDHH24MISS

ChangeLocalTime(oTime)     ; изменяем параметры, указанные в oTime
OnExit, Exit
Return

Exit:
   RetrieveLocalTime(StartTime, StartTickCount)   ; при выходе возвращаем настройки с учётом прошедшего времени
   ExitApp
         
Esc:: ExitApp

GetLocalTime()
{
   pSYSTEMTIME := GetLocalTimeStruct()   ; Получаем текущие настройки времени
   Loop 6   ; Преобразуем их в формат YYYYMMDDHH24MISS
   {
      num := NumGet(pSYSTEMTIME + 2*(A_Index - (A_Index &lt; 3 ? 1 : 0)), &quot;UShort&quot;)
      TimeFormatVar .= (A_Index = 1 ? num : SubStr(&quot;0&quot; . num, -1))
   }
   Return TimeFormatVar
}

ChangeLocalTime(oTime)
{
   pSYSTEMTIME := GetLocalTimeStruct()   ; Получаем текущие настройки времени
   
   for k, v in [&quot;year&quot;, &quot;month&quot;, &quot;day&quot;, &quot;hour&quot;, &quot;min&quot;, &quot;sec&quot;]    ; Изменяем необходимые параметры
      if (oTime[v] != &quot;&quot;)
         NumPut(oTime[v], pSYSTEMTIME + 2*(A_Index - (A_Index &lt; 3 ? 1 : 0)), &quot;UShort&quot;)
   
   Return SetLocalTime(pSYSTEMTIME)   ; устанавливаем новое время
}

RetrieveLocalTime(Time, StartTickCount)
{
   Time += Round((A_TickCount - StartTickCount)/1000), Seconds   ; прибавляем разницу во времени с начала работы
   
   VarSetCapacity(SYSTEMTIME, 16)
   Loop 6
   {
      number := A_Index = 1 ? SubStr(Time, 1, 4) : SubStr(Time, 3 + 2*(A_Index - 1), 2)
      offset := A_Index = 1 ? 0 : 2*(A_Index - (A_Index = 2 ? 1 : 0))
      NumPut(number, SYSTEMTIME, offset, &quot;UShort&quot;)
   }
   Return SetLocalTime(&amp;SYSTEMTIME)
}

GetLocalTimeStruct()
{
   static SYSTEMTIME
   VarSetCapacity(SYSTEMTIME, 16, 0)
   DllCall(&quot;GetLocalTime&quot;, Ptr, &amp;SYSTEMTIME)
   Return &amp;SYSTEMTIME
}

SetLocalTime(pSYSTEMTIME)
{
   Loop 2   
      if !DllCall(&quot;SetLocalTime&quot;, Ptr, pSYSTEMTIME) &amp;&amp; Error := 1  {
         MsgBox, Не удалось установить время. Ошибка %A_LastError%
         break
      }
   Return !Error
}</code></pre></div><p>Кстати, в коде выше был баг, возможно приводивший к ошибке: функцию DllCall(&quot;SetLocalTime&quot;) нужно вызывать дважды, как описано <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms724936%28v=vs.85%29.aspx">здесь</a>, что и реализовано в этом варианте.<br />На время работы скрипта должна быть отключена синхронизация времени через интернет.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2014-11-13T04:31:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88263#p88263</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88260#p88260" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><div class="quotebox"><cite>Pogodin пишет:</cite><blockquote><p>Дата должна временно меняться для запускаемой программы</p></blockquote></div><p>Вообще-то это противоречит <a href="http://forum.script-coding.com/rules.html#2.9.">правилам форума</a>.</p></blockquote></div><p>&nbsp; &nbsp;Ну, так это же с целью &quot;нехорошей&quot;, а я как раз наоборот, пытаюсь защитить свою программу от таких трюков. )&nbsp; А как защитить не имея нужного инструментария? Или, если он есть, но в моём исполнении кривой?</p><div class="quotebox"><blockquote><p>Попозже опишу принцип изменения системного времени туда-обратно, а уж как применить, сами думайте. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p></blockquote></div><p>&nbsp; Спасибо!</p>]]></content>
			<author>
				<name><![CDATA[Pogodin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30956</uri>
			</author>
			<updated>2014-11-13T01:00:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88260#p88260</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88252#p88252" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Pogodin пишет:</cite><blockquote><p>Дата должна временно меняться для запускаемой программы</p></blockquote></div><p>Вообще-то это противоречит <a href="http://forum.script-coding.com/rules.html#2.9.">правилам форума</a>. Попозже опишу принцип изменения системного времени туда-обратно, а уж как применить, сами думайте. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2014-11-12T21:28:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88252#p88252</id>
		</entry>
</feed>
