<?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="http://forum.script-coding.com/extern.php?action=feed&amp;tid=18096&amp;type=atom" />
	<updated>2024-02-08T19:19:15Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=18096</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=160304#p160304" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2024-02-08T19:19:15Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=160304#p160304</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=160301#p160301" />
			<content type="html"><![CDATA[<p>Не советую использовать таймер с постоянной проверкой на доступ скрипту, наверняка сайт заблочит подобное + что будет если интернет пропадёт на время? Верно - ложное срабатывание.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2024-02-08T14:56:21Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=160301#p160301</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=160296#p160296" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong><br />Хорошо, допустим введение номера в поле ввода не обязательно, но тогда нужна уже одна проверка. Есть ли серийный номер пользователя на сайте, если да, то тогда в переменную также пишет OpenScript := true, если нет - выведет текст с ошибкой входа. Допустим все лишние кнопки убрать в Gui и оставить только текст с ожиданием входа. С итерацией я разобрался, а с этим никак не могу, как не писал бы, не выходит.</p>]]></content>
			<author>
				<name><![CDATA[DmitriWhite]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=42376</uri>
			</author>
			<updated>2024-02-08T04:29:07Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=160296#p160296</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=160294#p160294" />
			<content type="html"><![CDATA[<p>А какой смысл пользователю вводить номер своего же диска, если он и так определяется? Не проще сразу по серийному номеру диска давать доступ?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2024-02-07T22:40:49Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=160294#p160294</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=160293#p160293" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[DmitriWhite]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=42376</uri>
			</author>
			<updated>2024-02-07T22:02:50Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=160293#p160293</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=160292#p160292" />
			<content type="html"><![CDATA[<p>Потом, непонятна логика скрипта. Сначала у вас определяется серийный номер диска C, потом пользователь должен ещё что-то ввести. Что именно он должен ввести, и какая связь между серийным номером диска, пользовательским вводом, и текстом, который скачивается с сайта?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2024-02-07T19:17:35Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=160292#p160292</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=160291#p160291" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>DmitriWhite пишет:</cite><blockquote><p>Стоит ли скачивать всю страницу или можно оставить как есть?</p></blockquote></div><p>Не совсем понял, какую страницу имеете в виду?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2024-02-07T19:09:26Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=160291#p160291</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=160290#p160290" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[DmitriWhite]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=42376</uri>
			</author>
			<updated>2024-02-07T17:33:30Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=160290#p160290</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=160289#p160289" />
			<content type="html"><![CDATA[<p>Приведите минимальный код, демонстрирующий проблему.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2024-02-07T17:28:33Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=160289#p160289</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=160288#p160288" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong><br />Хорошо, я исправил, но все еще при вводе верного ключа соответствующему серийному номеру жёсткого диска, при нажатии кнопки Войти пишет &quot;Ключ не найден на сайте или серийный номер не совпадает!&quot;</p>]]></content>
			<author>
				<name><![CDATA[DmitriWhite]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=42376</uri>
			</author>
			<updated>2024-02-07T17:27:35Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=160288#p160288</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=160287#p160287" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2024-02-07T17:23:11Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=160287#p160287</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Поиск и сравнение ключей с серийным номером.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=160285#p160285" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[DmitriWhite]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=42376</uri>
			</author>
			<updated>2024-02-07T17:02:55Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=160285#p160285</id>
		</entry>
</feed>
