Sergey2210
Осваивающий
- Сообщения
- 263
- Репутация
- 31
AutoIt: 3.
Версия: 1.0
Категория: Система / Реестр
Описание: Пример привязки Вашей программы к одному компьютеру
Код/Пример:
Файл: Привязка.au3
Снимок: Нет снимка.
История версий:
Источник: Русское сообщество AutoIt
Автор(ы): Sergey2210
Версия: 1.0
Категория: Система / Реестр
Описание: Пример привязки Вашей программы к одному компьютеру
Код/Пример:
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
;=========================================================================================
; Для того чтобы проверить,запустите программу,зайдите в реестр и удалите созданный ключь
; HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Binding , запустите программу и она выдаст
; ошибку.
;=========================================================================================
$ReadKey = Binding()
If $ReadKey = 0 Then
MsgBox(16, "Ошибка", "Free distribution of the program is strictly forbidden", 5)
Exit
EndIf
$hForm = GUICreate('',400,300)
GUISetState()
While 1
$aMsg = GUIGetMsg()
Switch $aMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
; #FUNCTION# ====================================================================================================================
; Name...........: Binding
; Description....: Привязка программы к одной машине(ПК)
; При компиляции скрипта у него стандартно будет стоять аттрибут [А]
; После первого запуска, функция считает уникальный ID компьютера и
; запишет ключ в реестр с ID компьютера, далее установит аттрибут
; программе [AT] и можно пользоваться программой....
; Аттрибут файлу устанавливается для того чтобы запись ключа
; не включилась произвольно на другом пк далее, ключ записывается в
; реестр для того чтобы при запуске программы на другом пк функция
; считывает ключ ез реестра и если его там нет или ключ не правильный
; то .....
; Syntax.........: Binding()
; Parameters ....:
; Return values .: Успешно = 1
; Иначе = 0
; Author ........: Sergey2210
; Modified.......:
; Remarks .......:
; Related .......:
; Link ..........: http://autoit-script.ru/index.php?action=profile;u=3501
; E-mail.........: [email protected]
; Example .......: Yes
; ===============================================================================================================================
Func Binding()
Global $_ProductId = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion','ProductId') ; Считываем ID компьютера
$_sResult = 0 ; Результат
$_hFileAttribut = FileGetAttrib(@ScriptFullPath) ; Считываем аттрибут программы
If $_hFileAttribut = 'A' Then ; Если аттрибут программы = A то выполняются действия
If Not RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows','Binding') Then ; Если нет ключа то....
RegWrite('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows','Binding','REG_SZ',$_ProductId) ; Записываем ключ с уникальным ID
FileSetAttrib(@ScriptFullPath, "+T", 0) ; Ставим аттрибут программе AT
$_sResult = 1 ; Ставим положительный результат
EndIf
EndIf
If $_hFileAttribut = 'AT' Then ; Если аттрибут программы = AT то....
If RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows','Binding') = $_ProductId Then ; если наш ключ = ключу ID компьютера то
$_sResult = 1 ; Ставим положительный результат
Else
$_sResult = 0 ; иначе ставим 0
EndIf
EndIf
Return $_sResult
EndFunc ; ==> Binding()
Файл: Привязка.au3
Снимок: Нет снимка.
История версий:
v1.0
Источник: Русское сообщество AutoIt
Автор(ы): Sergey2210