Code : Tout sélectionner
#include <Array.au3>
#include <Crypt.au3>
#include <MsgBoxConstants.au3>
$WMI = ObjGet("winmgmts:{impersonationLevel=Impersonate}!//.")
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
Global $GUI_LICENCE_CREATE = GUICreate("Licence Create", 341, 224, 449, 141)
GUISetOnEvent($GUI_EVENT_CLOSE, "GUI_LICENCE_CREATEClose")
Global $Label1 = GUICtrlCreateLabel("DESCRIPTION", 8, 40, 77, 17)
Global $Label2 = GUICtrlCreateLabel("NAME", 50, 65, 35, 17)
Global $Label3 = GUICtrlCreateLabel("SERIAL", 43, 95, 42, 17)
Global $Label4 = GUICtrlCreateLabel("DISQUE SELECTIONNER", 8, 8, 150, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
Global $dsk_description = GUICtrlCreateLabel("dsk_description", 112, 40, 250, 17)
Global $dsk_name = GUICtrlCreateLabel("dsk_name", 112, 65, 250, 17)
Global $dsk_serial = GUICtrlCreateLabel("dsk_serial", 112, 95, 250, 17)
Global $Label5 = GUICtrlCreateLabel("LICENCE GENERER", 8, 130, 105, 17)
Global $Licence_Key = GUICtrlCreateInput("Licence_Key", 8, 152, 321, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_READONLY))
Global $Generation = GUICtrlCreateButton("Generation", 120, 184, 75, 25)
GUICtrlSetOnEvent(-1, "GenerationClick")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
Sleep(100)
WEnd
Func GenerationClick()
Local $result[1][5] = [[0, "Model", "InterfaceType"]], $i = 0,$select = 0
;obtention des description des different DISQUES
$devices = $WMI.InstancesOf("Win32_DiskDrive")
For $device In $devices
$result[0][0] = $result[0][0] + 1
ReDim $result[$result[0][0]+1][3]
$result[$result[0][0]][1] = $device.Model
$result[$result[0][0]][2] = $device.InterfaceType
Next
;choix du disque a utiliser en tant que LICENCE_KEY
_ArrayDisplay($result, "Class List")
$select = 0
while ($select <1 Or $select>$result[0][0])
$select = InputBox("SELECTION","Bonjour," & @CRLF & "indiquez l'index du disque que vous souhaitez utilisez comme licence.")
WEnd
;Recuperation des information concernant la IDSERIAL
$devices = $WMI.InstancesOf("Win32_PhysicalMedia")
For $device In $devices
$i = $i + 1
If $i > $result[0][0] Then
If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(4144,"Licence Create","Désolé, l'obtention du numero de serie de ce peripherique à échoué.",5)
exit
EndIf
if $select = $i then
$Serialrecuperer = $device.SerialNumber
ExitLoop
endif
Next
;descritpion
GUICtrlSetData($dsk_description,$result[$select][1])
;name
GUICtrlSetData($dsk_name,$result[$select][2])
;SERIAL
GUICtrlSetData($dsk_serial,$Serialrecuperer)
;LICENCEKEY
GUICtrlSetData($Licence_Key,StringEncrypt(True, $Serialrecuperer, 'PASSWORDunPeuNaze2293'))
EndFunc
Func GUI_LICENCE_CREATEClose()
exit
EndFunc
Func StringEncrypt($bEncrypt, $sData, $sPassword)
_Crypt_Startup() ; Start the Crypt library.
Local $sReturn = ''
If $bEncrypt Then ; If the flag is set to True then encrypt, otherwise decrypt.
$sReturn = _Crypt_EncryptData($sData, $sPassword, $CALG_RC4)
Else
$sReturn = BinaryToString(_Crypt_DecryptData($sData, $sPassword, $CALG_RC4))
EndIf
_Crypt_Shutdown() ; Shutdown the Crypt library.
Return $sReturn
EndFunc ;==>StringEncrypt