MakeExpert
Новичок
- Сообщения
- 4
- Репутация
- 0
Привет всем, помогите мне пожалуйста, есть два скрипта привязки к пк. Нужно что бы скрипт №1 читал значения так же как скрипт №2 , т.е. все ключи находятся в файле .ini на сервере.
Скрипт №1
Скрипт №2
Скрипт №1
Код:
#Include <APIConstants.au3>
#Include <WinAPIEx.au3>
if _WinAPI_UniqueHardwareID(BitOR($UHID_MB, $UHID_BIOS, $UHID_CPU)) = "{C93F491F-4FBD-D923-E57D-855131EE1204}" = False Then
MsgBox(16,"Незаконный Запуск","Обратитесь к разработчику")
Exit
EndIf
MsgBox(64,"Все хорошо", "Спасибо за использование")
;~ далее идет код
Скрипт №2
Код:
#include <IniString.au3>
$iControl = _ValidateSerial()
If Not @error Then
If $iControl Then
MsgBox(64, 'Идентификация', 'Идентификация прошла успешно')
Else
MsgBox(16, 'Идентификация', 'У вас нет доступа к программе')
Exit
EndIf
Else
Switch @error
Case -1
MsgBox(16, 'Идентификация', 'Не удалось проверить серийный номер. Проверьте подключение к интернет.')
Exit
Case 1
MsgBox(16, 'Идентификация', 'Произошла ошибка проверки.')
Exit
EndSwitch
EndIf
Func _ValidateSerial()
Local $s_Serial, $a_Control, $s_TextFromSite
$s_TextFromSite = InetRead('http://yourdomen.ru/control.ini')
If @error Then Return SetError(-1)
$s_TextFromSite = BinaryToString($s_TextFromSite)
$s_Serial = DriveGetSerial(StringLeft(@ScriptDir, 2))
If @error Then Return SetError(1)
$a_Control = _IniString_ReadSection($s_TextFromSite, 'Computers')
If @error Then Return SetError(1)
For $i = 1 To $a_Control[0][0]
If $a_Control[$i][1] == $s_Serial Then Return SetError(0, 0, 1)
Next
Return SetError(0, 0, 0)
EndFunc