-
Автор темы
- #1
Всем здарова, я вам покажу как сделать привязку ahk по серийнику жёсткого диска.
Нам понадобится функции:
UrlGetContents - Получает текст из html кода.
CheckHwid - Проверяет серийник в базе доступа.
Приступим к написанию самой программы.
Нам понадобится функции:
UrlGetContents - Получает текст из html кода.
CheckHwid - Проверяет серийник в базе доступа.
Приступим к написанию самой программы.
Код:
global hwid_url := "https://drive.google.com/uc?export=download&confirm=no_antivirus&id=14VhptUP_RNVdyaI_mSfCv4ekhBVDLylb"
global cHwid := ""
UrlGetContents(sUrl) {
ComObjError(False) ; Не выводим ошибки пользователю
http := ComObjCreate("WinHttp.WinHttpRequest.5.1") ; Подключаем библиотеку WinHttpRequest
http.Open("GET", sUrl, false) ; Открываем html страницу
http.Send() ; Получаем данные
;Эта библиотека нужна для кириллицы, можете подробнее узнать в гугле
ADODBStream := ComObjCreate("ADODB.Stream")
ADODBStream.Type := 1
ADODBStream.Mode := 3
ADODBStream.Open()
ADODBStream.Write(http.ResponseBody)
ADODBStream.Position := 0
ADODBStream.Type := 2
ADODBStream.Charset := "UTF-8"
text := ADODBStream.ReadText()
ADODBStream.Close()
return text ; Возращаем полученный текст
}
CheckHwid() {
DriveGet, cHwid, Serial, C:\ ; Получаем серийник нашего жётского диска (В моём случае C:)
Loop, Parse, % UrlGetContents(hwid_url), `n ; В цикле парсим данные из html страницы через строку
{
sHwid := strsplit(A_LoopField, "-") ; делим полученные данные через символ "-"
if (cHwid == sHwid[1]) ; Задаём нужный нам массив с данными
retrun TRUE ; Если есть hwid на хостинге
}
return FALSE ;Возращает false если не прошли проверку сверху
}
Код:
SetWorkingDir %A_ScriptDir%
#include function.ahk
if (!CheckHwid()) { ; Здесь происходит проверка на hwid, если функция вернула false, то он выводит сообщение что нет hwid на хостинге, если true пропускается
msgbox, 0x30, Предупреждение, % "Hwid: " cHwid "`nНет в базе доступа!"
return
}
msgbox, 0x40, Информация, % "Скрипт работает :)"
Вложения
-
1.4 KB Просмотры: 60
Последнее редактирование: