<?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>http://forum.script-coding.com/viewtopic.php?id=18096</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=18096&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Поиск и сравнение ключей с серийным номером.».]]></description>
		<lastBuildDate>Thu, 08 Feb 2024 19:19:15 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=160304#p160304</link>
			<description><![CDATA[<p>Если задача узнать, существует ли серийник в списке, разделённом переносами строк, то проще всего так:<br /></p><div class="codebox"><pre><code>serials =
(
2342124523
2342432134
5324352345
3252452345
)

serial1 := 2342432134
serial2 := 234243213

MsgBox % serials ~= &quot;m`a)^&quot; . serial1 . &quot;$&quot;
MsgBox % serials ~= &quot;m`a)^&quot; . serial2 . &quot;$&quot;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 08 Feb 2024 19:19:15 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=160304#p160304</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=160301#p160301</link>
			<description><![CDATA[<p>Не советую использовать таймер с постоянной проверкой на доступ скрипту, наверняка сайт заблочит подобное + что будет если интернет пропадёт на время? Верно - ложное срабатывание.</p>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Thu, 08 Feb 2024 14:56:21 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=160301#p160301</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=160296#p160296</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Хорошо, допустим введение номера в поле ввода не обязательно, но тогда нужна уже одна проверка. Есть ли серийный номер пользователя на сайте, если да, то тогда в переменную также пишет OpenScript := true, если нет - выведет текст с ошибкой входа. Допустим все лишние кнопки убрать в Gui и оставить только текст с ожиданием входа. С итерацией я разобрался, а с этим никак не могу, как не писал бы, не выходит.</p>]]></description>
			<author><![CDATA[null@example.com (DmitriWhite)]]></author>
			<pubDate>Thu, 08 Feb 2024 04:29:07 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=160296#p160296</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=160294#p160294</link>
			<description><![CDATA[<p>А какой смысл пользователю вводить номер своего же диска, если он и так определяется? Не проще сразу по серийному номеру диска давать доступ?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 07 Feb 2024 22:40:49 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=160294#p160294</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=160293#p160293</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br /></p><div class="codebox"><pre><code>url := &quot;https://pastebin.com/raw/yCsSHyNJ&quot;</code></pre></div><p> это сама ссылка на сайт.<br />В ней находится список ключей. Ключ = серийный номер. Суть такова, пользователь вводит свой серийный номер, если этот серийный номер есть в списке на сайте, тогда следующая проверка. Скрипт сравнивает тот серийный номер, который ввел пользователь и серийный номер его жесткого диска, если все две проверки прошли успешно, переменная должна изменится на OpenScript := true. Допустим пользователь дал другу этот скрипт, но его серийного номера нету на сайте, даже если он введет серийный номер друга, тогда вторая проверка не допустит его.</p>]]></description>
			<author><![CDATA[null@example.com (DmitriWhite)]]></author>
			<pubDate>Wed, 07 Feb 2024 22:02:50 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=160293#p160293</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=160292#p160292</link>
			<description><![CDATA[<p>Потом, непонятна логика скрипта. Сначала у вас определяется серийный номер диска C, потом пользователь должен ещё что-то ввести. Что именно он должен ввести, и какая связь между серийным номером диска, пользовательским вводом, и текстом, который скачивается с сайта?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 07 Feb 2024 19:17:35 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=160292#p160292</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=160291#p160291</link>
			<description><![CDATA[<div class="quotebox"><cite>DmitriWhite пишет:</cite><blockquote><p>Стоит ли скачивать всю страницу или можно оставить как есть?</p></blockquote></div><p>Не совсем понял, какую страницу имеете в виду?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 07 Feb 2024 19:09:26 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=160291#p160291</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=160290#p160290</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Сократил как мог.<br />1. При вводе пустого значения пишется &quot;Ключ найден, но серийный номер не совпадает!&quot;<br />2. При вводе верного ключа с сайта имеющим тот же серийный номер что у меня, пишется &quot;Ключ найден, но серийный номер не совпадает!&quot;<br />В остальном скрипт работает. Стоит ли скачивать всю страницу или можно оставить как есть?<br /></p><div class="codebox"><pre><code>
OpenScript := false

DriveGet, SerialNumber, Serial, C:

url := &quot;https://pastebin.com/raw/yCsSHyNJ&quot; ;   PODPISKA

httpRequest := ComObjCreate(&quot;WinHttp.WinHttpRequest.5.1&quot;)
httpRequest.Open(&quot;GET&quot;, url, false)
httpRequest.Send()

responseBody := Trim(httpRequest.ResponseText)

Gui, Add, Text, x20 y10 w360 h20, Введите ваш ключ:
Gui, Add, Edit, vUserLogin x20 y30 w200 h30,
Gui, Add, Button, x20 y80 w200 h30 gLoginButton, Войти

Gui, Show, w250 h150, Вход

return

LoginButton:
    GuiControlGet, UserLogin,, Edit1
    Gui, Submit

    if !InStr(responseBody, UserLogin) {
        MsgBox, Ключ не найден на сайте!
		Gui, Show
        Return
    }

    keyInfo := RegExMatch(responseBody, &quot;i)(\Q&quot; UserLogin &quot;\E)\t(.*)&quot;, match)

    if (keyInfo &amp;&amp; match[2] = SerialNumber) {
        OpenScript := true
        MsgBox, Успешный вход!
    } else {
        MsgBox, Ключ найден, но серийный номер не совпадает!
		Gui, Show
		Return
    }

    return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (DmitriWhite)]]></author>
			<pubDate>Wed, 07 Feb 2024 17:33:30 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=160290#p160290</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=160289#p160289</link>
			<description><![CDATA[<p>Приведите минимальный код, демонстрирующий проблему.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 07 Feb 2024 17:28:33 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=160289#p160289</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=160288#p160288</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Хорошо, я исправил, но все еще при вводе верного ключа соответствующему серийному номеру жёсткого диска, при нажатии кнопки Войти пишет &quot;Ключ не найден на сайте или серийный номер не совпадает!&quot;</p>]]></description>
			<author><![CDATA[null@example.com (DmitriWhite)]]></author>
			<pubDate>Wed, 07 Feb 2024 17:27:35 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=160288#p160288</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=160287#p160287</link>
			<description><![CDATA[<div class="quotebox"><cite>DmitriWhite пишет:</cite><blockquote><div class="codebox"><pre><code>GuiControlGet, vUserLogin,, Edit1</code></pre></div></blockquote></div><p>Переменная, связанная с контролом не vUserLogin, а просто UserLogin, буква v — это символ, означающий, что вслед за ним будет идти переменная.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 07 Feb 2024 17:23:11 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=160287#p160287</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=160285#p160285</link>
			<description><![CDATA[<p>Добрый вечер всем читающим. Дело в том, что никак не могу сделать рабочий скрипт, прошу помощи у тех, кто не занят сильно. Суть проста, он заходит на сайт где есть несколько &quot;ключей&quot; написанных в столбик, нужно что бы он нашел тот, что я вписал в поле ввода и затем сравнил, есть ли он вообще на сайте? Если есть, то далее он должен проверить, совпадает ли серийный номер жесткого диска с ключом, который я ввел в поле ввода и тогда он выдаст &quot;Успешный вход!&quot; и сделает переменную OpenScript := true. Дам небольшой кусочек из него:<br /></p><div class="codebox"><pre><code>#NoEnv
CoordMode, pixel, Window

OpenScript := false

DriveGet, SerialNumber, Serial, C:

url := &quot;https://pastebin.com/raw/yCsSHyNJ&quot; ;   PODPISKA

httpRequest := ComObjCreate(&quot;WinHttp.WinHttpRequest.5.1&quot;)
httpRequest.Open(&quot;GET&quot;, url, false)
httpRequest.Send()

responseBody := Trim(httpRequest.ResponseText)

Gui, Add, Text, x20 y10 w360 h20, Введите ваш ключ:
Gui, Add, Edit, vUserLogin x20 y30 w200 h30,
Gui, Add, Button, x20 y80 w200 h30 gLoginButton, Войти
Gui, Add, Button, x20 y115 w200 h30 gBuyButton, Купить

GuiClose(GuiHwnd) {
    MsgBox 4,, Вы уверены что хотите закрыть скрипт?
    ifMsgBox No
        return true
    ifMsgBox Yes
        ExitApp
}

Gui, Show, w250 h150, Вход

return

LoginButton:
    GuiControlGet, vUserLogin,, Edit1
    Gui, Submit

    ; Просто проверяем, есть ли введенный ключ на сайте
    if !InStr(responseBody, vUserLogin) {
        MsgBox, Ключ не найден на сайте!
		Gui, Show
        Return
    }

    ; Если ключ найден, тогда проверяем серийный номер жесткого диска
    keyInfo := RegExMatch(responseBody, &quot;i)(\Q&quot; vUserLogin &quot;\E)\t(.*)&quot;, match)

    if (keyInfo &amp;&amp; match[2] = SerialNumber) {
        OpenScript := true
        MsgBox, Успешный вход!
    } else {
        MsgBox, Ключ найден, но серийный номер не совпадает!
		Gui, Show
		Return
    }

    return

BuyButton:
    Run, https://example.com/ ; тестовая ссылка
    Gui, +LastFound
    Gui, Destroy
    ExitApp
return</code></pre></div><p>Также если возможно, как только введеный ключ удалится на сайте, то с помощью итераций скрипт должен будет закрыться.<br /></p><div class="codebox"><pre><code>SetTimer, CheckKeyAvailability, 5000
CheckKeyAvailability:
    httpRequest := ComObjCreate(&quot;WinHttp.WinHttpRequest.5.1&quot;)
    httpRequest.Open(&quot;GET&quot;, url, false)
    httpRequest.Send()

    responseBody := Trim(httpRequest.ResponseText)

    if (responseBody = &quot;&quot;) {
        SetTimer, CloseScript, 3000
        MsgBox, 0, , У вас закончилась подписка на данный скрипт, чтобы приобрести новую
        Return
    }
return

CloseScript:
    ExitApp
return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (DmitriWhite)]]></author>
			<pubDate>Wed, 07 Feb 2024 17:02:55 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=160285#p160285</guid>
		</item>
	</channel>
</rss>
