<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Как изменить время и дату в системе?]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=10026</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10026&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Как изменить время и дату в системе?».]]></description>
		<lastBuildDate>Sun, 12 Dec 2021 09:12:45 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151139#p151139</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sun, 12 Dec 2021 09:12:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151139#p151139</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151138#p151138</link>
			<description><![CDATA[<p>запрос такой: надо чтобы месяц 10 был число 10 а время также осталось</p>]]></description>
			<author><![CDATA[null@example.com (ruslanchus)]]></author>
			<pubDate>Sun, 12 Dec 2021 09:09:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151138#p151138</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88368#p88368</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>По моим представлениям, такое обычно применяется для бесконечного продления срока пользования триал-версией программы.</p></blockquote></div><p>Перевод времени вполне делается вручную (как сказал бы <strong>The gray Cardinal</strong> - &quot;козлиная защита&quot;). А упомянутая программа просто избавляет от ручных манипуляций, то бишь автоматизирует.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sat, 15 Nov 2014 06:20:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88368#p88368</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88349#p88349</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Pogodin)]]></author>
			<pubDate>Fri, 14 Nov 2014 11:17:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88349#p88349</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88340#p88340</link>
			<description><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p>По-моему, взломом и вредительством здесь не пахнет.</p></blockquote></div><p> По моим представлениям, такое обычно применяется для бесконечного продления срока пользования триал-версией программы.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 14 Nov 2014 08:18:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88340#p88340</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88336#p88336</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Fri, 14 Nov 2014 07:24:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88336#p88336</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88329#p88329</link>
			<description><![CDATA[<div class="quotebox"><cite>stealzy пишет:</cite><blockquote><p>А зачем изобретать велосипеды?<br />Например RunAsDate от NirCmd.</p></blockquote></div><p>&nbsp; Пробовал. Глючит люто. Решил, что самому сделать надёжнее. Но не одолел, прибежал к знатокам за помощью.&nbsp; Пока не тестировал, но всё равно спасибо всем помогающим!</p>]]></description>
			<author><![CDATA[null@example.com (Pogodin)]]></author>
			<pubDate>Thu, 13 Nov 2014 19:41:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88329#p88329</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88302#p88302</link>
			<description><![CDATA[<p>Вот пускай и использует готовый &quot;инструментарий&quot;, который к тому же работает без перевода системных часов.</p>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Thu, 13 Nov 2014 12:37:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88302#p88302</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88298#p88298</link>
			<description><![CDATA[<p>В посте #13 внезапно выяснилось, что ТС хочет защитить свою программу от такого воздействия.</p>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Thu, 13 Nov 2014 12:27:44 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88298#p88298</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88296#p88296</link>
			<description><![CDATA[<p>А зачем изобретать велосипеды?<br />Уже есть куча программ, чтобы запускать другие программмы с определенного времени. Например RunAsDate от NirCmd.</p>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Thu, 13 Nov 2014 12:10:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88296#p88296</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88287#p88287</link>
			<description><![CDATA[<p>Да, тоже хотел это найти, но руки не дошли. Я бы ещё сначала проверил доступность сервера пингом.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 13 Nov 2014 11:22:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88287#p88287</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88272#p88272</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Thu, 13 Nov 2014 07:45:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88272#p88272</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88263#p88263</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 13 Nov 2014 04:31:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88263#p88263</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88260#p88260</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Pogodin)]]></author>
			<pubDate>Thu, 13 Nov 2014 01:00:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88260#p88260</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как изменить время и дату в системе?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88252#p88252</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 12 Nov 2014 21:28:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88252#p88252</guid>
		</item>
	</channel>
</rss>
