есть два скрипта их нужно соединить в один чтобы проверка была через хостинг то есть в первом скрипте должно поверять PID процессора а не диска
Код:
$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
Код:
$PiD = "BFEBFBFF000906EA" ;ID процессора
Func GetProcessorId()
$objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL",0x10+0x20)
If IsObj($colItems) Then
For $objItem In $colItems
Local $PROC_ID = $objItem.ProcessorId
Next
Return $PROC_ID
Else
Return 0
EndIf
EndFunc
$output = GetProcessorId()
If $PiD = $output Then
ConsoleWrite("хорошо "&$output) ;процессоры совпадают
Else
ConsoleWrite("плохо ") ;процессоры не совпадают
EndIf