#include #include Global $file $gui = GUICreate ("Mot de passe generator",500,200) $generer = GUICtrlCreateButton ("Generer",250,160,100) $reset = GUICtrlCreateButton ("Reset",400,160,50) $enregistrer = GUICtrlCreateButton ("Enregistrer dans mot de passe generator.txt",200,97,250) $check1 = GUICtrlCreateCheckbox ("Chiffre",15,10) $check2 = GUICtrlCreateCheckbox ("Lettres",15,30) $check3 = GUICtrlCreateCheckbox ("Majuscule,Minuscule (Seulement avec ""LETTRE"")",15,50) $check4 = GUICtrlCreateCheckbox ("Caractere speciaux (&'_:;,.!@#$%*()-=+[]\/?)",15,70) $check5 = GUICtrlCreateCheckbox ("Sauvegarder automatiquement",15,90) $input1 = GUICtrlCreateInput ("",285,50,200,21,BitOR ($ES_CENTER,$ES_READONLY)) $input2 = GUICtrlCreateInput ("10",125,125,50,21,BitOR ($ES_CENTER,$ES_READONLY)) $input3 = GUICtrlCreateInput ("1",65,150,50,21,BitOR ($ES_CENTER,$ES_READONLY)) GUICtrlCreateUpdown ($input2) GUICtrlCreateUpdown ($input3) GUICtrlCreateLabel ("Nombre de caractere",15,125) GUICtrlCreateLabel ("Generer",15,150) GUICtrlCreateLabel ("Mot de passe",125,150) GUISetState (@SW_SHOW) While 1 $m = GUIGetMsg () Switch $m Case $GUI_EVENT_CLOSE MsgBox (64,"About this","About this program : By Drave, All right reserved") ExitLoop Case $generer For $x = 1 To GUICtrlRead($input3) GUICtrlSetData ($input1,_mdpgenerate(GUICtrlRead($input2),GUICtrlRead($input3),_IsChecked ($check1),_IsChecked ($check2),_IsChecked ($check3),_IsChecked ($check4),_IsChecked($check5))) Next Case $reset GUICtrlSetData ($input1,"") GUICtrlSetData ($input2,"10") GUICtrlSetData ($input3,"1") Case $enregistrer $file = FileOpen ("mot de passe generator.txt",1) FileWriteLine ($file, GUICtrlRead($input1)) FileClose ($file) EndSwitch WEnd Func _mdpgenerate($nbcara,$fois,$chiffreflag,$lettreflag,$majflag,$caraspeceflag,$sauvegardeauto) Local $mdp,$lettre1,$chiffre1,$maj1,$caraspece1 If $chiffreflag = 1 Then $chiffre1 = "0123456789" EndIf If $majflag = 1 Then $maj1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" EndIf If $lettreflag = 1 Then $lettre1 ="abcdefghijklmnopqrstuvwxyz" EndIf If $caraspeceflag = 1 Then $caraspece1 = "&'_:;,.!@#$%*()-=+[]\/?" EndIf If $chiffreflag And $lettreflag And $majflag And $caraspeceflag Then $cara = StringSplit ($chiffre1 & $lettre1 & $maj1& $caraspece1,"") ElseIf $chiffreflag And $lettreflag And $majflag Then $cara = StringSplit ($chiffre1 & $lettre1 & $maj1 ,"") ElseIf $chiffreflag And $lettreflag and $caraspeceflag Then $cara = StringSplit ($chiffre1 & $lettre1 & $caraspece1,"" ) ElseIf $lettreflag And $majflag And $caraspeceflag Then $cara = StringSplit ($lettre1 & $maj1 & $caraspece1,"") ElseIf $chiffreflag And $caraspeceflag Then $cara = StringSplit ($chiffre1&$caraspece1,"") ElseIf $chiffreflag And $lettreflag Then $cara = StringSplit ($chiffre1 & $lettre1,"") ElseIf $lettreflag And $caraspeceflag Then $cara = StringSplit ($lettre1 & $caraspece1,"") ElseIf $lettreflag And $majflag Then $cara = StringSplit ($lettre1 & $maj1,"") ElseIf $chiffreflag Then $cara = StringSplit ($chiffre1,"") ElseIf $lettreflag Then $cara = StringSplit ($lettre1,"") ElseIf $caraspeceflag Then $cara = StringSplit ($caraspece1,"") ElseIf $majflag Then $cara = StringSplit ("","") Else MsgBox (16,"Error","Error le programme a rencontrer un probleme car vous n'ever pas cocher de case il va redemarer ... Il se peut aussi que le bug soit du au fait que vous ayer cliquer sur ""Majuscule,minuscule"" sans ""Lettres""") ShellExecute ("Mot de passe generator.exe") EndIf For $i = 1 To $nbcara $mdp &= $cara[Random(1,$cara[0],1)] Next If $sauvegardeauto Then $file = FileOpen ("mot de passe generator.txt",1) FileWriteLine ($file, GUICtrlRead($input1)) FileClose ($file) EndIf Return $mdp EndFunc Func _IsChecked($control) Return BitAnd(GUICtrlRead($control),$GUI_CHECKED) = $GUI_CHECKED EndFunc