► Afficher le texteVersion non évènementiel :
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
Global $Protect = True, $Choice = 1
Local $Form_RunAs = GUICreate("Executer en tant que", 385, 325, -1, -1, $WS_BORDER)
GUISetFont(7, 400, 0, "Verdana")
Local $Icon_RunAs = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -105, 11, 11, 32, 32)
Local $Label_RunAs = GUICtrlCreateLabel("Quel compte d'utilisateur voulez-vous utiliser pour exécuter ce programme ?", 48, 24, 326, 26)
Local $Radio1_Choice_RunAs = GUICtrlCreateRadio("L'utilisateur actuel (" & @ComputerName & "\" & @UserName & ")", 12, 57, 267, 16)
GUICtrlSetState($Radio1_Choice_RunAs, $GUI_CHECKED)
Local $Checkbox_RunAs = GUICtrlCreateCheckbox("Protéger mon ordinateur et mes données des programmes non autorisés." & @CRLF & @CRLF & "Cette option peut empêcher les virus informatiques d'endommager votre ordinateur ou vos données personnelles, mais elle peut également empêcher le programme de fonctionner correctement si elle est sélectionnée.", 29, 78, 342, 94, BitOR($GUI_SS_DEFAULT_CHECKBOX,$BS_LEFT,$BS_TOP,$BS_MULTILINE))
GUICtrlSetState($Checkbox_RunAs, $GUI_CHECKED)
Local $Radio2_Choice_RunAs = GUICtrlCreateRadio("L'utilisateur suivant :", 11, 180, 146, 21)
Local $Label_User_RunAs = GUICtrlCreateLabel("Nom d'utilisateur :", 30, 214, 102, 13)
GUICtrlSetState($Label_User_RunAs, $GUI_DISABLE)
Local $Combo_User_RunAs = GUICtrlCreateCombo("" & @ComputerName & "\Administrateur", 135, 211, 182, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetState($Combo_User_RunAs, $GUI_DISABLE)
Local $Button_RunAS = GUICtrlCreateButton("...", 323, 211, 19, 21)
GUICtrlSetState($Button_RunAS, $GUI_DISABLE)
Local $Label_Password_RunAs = GUICtrlCreateLabel("Mot de passe :", 30, 242, 102, 13)
GUICtrlSetState($Label_Password_RunAs, $GUI_DISABLE)
Local $Input_Password_RunAs = GUICtrlCreateInput("", 135, 239, 182, 20, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
GUICtrlSetState($Input_Password_RunAs, $GUI_DISABLE)
Local $Button_OK_RunAs = GUICtrlCreateButton("OK", 209, 271, 75, 23)
Local $Button_Cancel_RunAs = GUICtrlCreateButton("Annuler", 288, 271, 75, 23)
GUISetState(@SW_SHOW, $Form_RunAs)
While 1
Local $nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Radio1_Choice_RunAs
$Choice = 1
GUICtrlSetState($Checkbox_RunAs, $GUI_ENABLE)
GUICtrlSetState($Label_User_RunAs, $GUI_DISABLE)
GUICtrlSetState($Combo_User_RunAs, $GUI_DISABLE)
;~ GUICtrlSetState($Button_RunAS, $GUI_DISABLE)
GUICtrlSetState($Label_Password_RunAs, $GUI_DISABLE)
GUICtrlSetState($Input_Password_RunAs, $GUI_DISABLE)
Case $Checkbox_RunAs
If GUICtrlRead($Checkbox_RunAs) = 1 Then ; Si 1 = cochée
$Protect = True
Else
$Protect = False
EndIf
Case $Radio2_Choice_RunAs
$Choice = 2
GUICtrlSetState($Checkbox_RunAs, $GUI_DISABLE)
GUICtrlSetState($Label_User_RunAs, $GUI_ENABLE)
GUICtrlSetState($Combo_User_RunAs, $GUI_ENABLE)
;~ GUICtrlSetState($Button_RunAS, $GUI_ENABLE)
GUICtrlSetState($Label_Password_RunAs, $GUI_ENABLE)
GUICtrlSetState($Input_Password_RunAs, $GUI_ENABLE)
Case $Button_RunAS
;~ Action du bouton ...
Case $Button_OK_RunAs
GUISetState(@SW_HIDE, $Form_RunAs) ; Cache le GUI principal
If $Choice = 1 Then
If $Protect = True Then
$Protect = "Active"
Else
$Protect = "Inactive"
EndIf
MsgBox(8256, "Résultat de vos choix", "Choix : " & $Choice & @CRLF & "Protection : " & $Protect)
ElseIf $Choice = 2 Then
MsgBox(8256, "Résultat de vos choix", "Choix : " & $Choice & @CRLF & "Utilisateur : " & GUICtrlRead($Combo_User_RunAs) & @CRLF & "Mot de passe : " & GUICtrlRead($Input_Password_RunAs))
Else
MsgBox(8208,"Erreur","Une erreur est survenue !")
EndIf
Exit
Case $Button_Cancel_RunAs
Exit
EndSwitch
WEnd
► Afficher le texteVersion évènementiel :
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Opt('MustDeclareVars', 1)
Global $Protect = True, $Choice = 1
Local $Form_RunAs = GUICreate("Executer en tant que", 385, 325, -1, -1, $WS_BORDER)
GUISetFont(7, 400, 0, "Verdana")
Local $Icon_RunAs = GUICtrlCreateIcon(@SystemDir & "\shell32.dll", -105, 11, 11, 32, 32)
Local $Label_RunAs = GUICtrlCreateLabel("Quel compte d'utilisateur voulez-vous utiliser pour exécuter ce programme ?", 48, 24, 326, 26)
Local $Radio1_Choice_RunAs = GUICtrlCreateRadio("L'utilisateur actuel (" & @ComputerName & "\" & @UserName & ")", 12, 57, 267, 16)
GUICtrlSetState($Radio1_Choice_RunAs, $GUI_CHECKED)
GUICtrlSetOnEvent($Radio1_Choice_RunAs, "_Click_Radio1_Choice_RunAs")
Local $Checkbox_RunAs = GUICtrlCreateCheckbox("Protéger mon ordinateur et mes données des programmes non autorisés." & @CRLF & @CRLF & "Cette option peut empêcher les virus informatiques d'endommager votre ordinateur ou vos données personnelles, mais elle peut également empêcher le programme de fonctionner correctement si elle est sélectionnée.", 29, 78, 342, 94, BitOR($GUI_SS_DEFAULT_CHECKBOX,$BS_LEFT,$BS_TOP,$BS_MULTILINE))
GUICtrlSetState($Checkbox_RunAs, $GUI_CHECKED)
GUICtrlSetOnEvent($Checkbox_RunAs, "_Click_Checkbox_RunAs")
Local $Radio2_Choice_RunAs = GUICtrlCreateRadio("L'utilisateur suivant :", 11, 180, 146, 21)
GUICtrlSetOnEvent($Radio2_Choice_RunAs, "_Click_Radio2_Choice_RunAs")
Local $Label_User_RunAs = GUICtrlCreateLabel("Nom d'utilisateur :", 30, 214, 102, 13)
GUICtrlSetState($Label_User_RunAs, $GUI_DISABLE)
Local $Combo_User_RunAs = GUICtrlCreateCombo("" & @ComputerName & "\Administrateur", 135, 211, 182, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetState($Combo_User_RunAs, $GUI_DISABLE)
Local $Button_RunAS = GUICtrlCreateButton("...", 323, 211, 19, 21)
GUICtrlSetState($Button_RunAS, $GUI_DISABLE)
GUICtrlSetOnEvent($Button_RunAS, "_Click_Button_RunAS")
Local $Label_Password_RunAs = GUICtrlCreateLabel("Mot de passe :", 30, 242, 102, 13)
GUICtrlSetState($Label_Password_RunAs, $GUI_DISABLE)
Local $Input_Password_RunAs = GUICtrlCreateInput("", 135, 239, 182, 20, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
GUICtrlSetState($Input_Password_RunAs, $GUI_DISABLE)
Local $Button_OK_RunAs = GUICtrlCreateButton("OK", 209, 271, 75, 23)
GUICtrlSetOnEvent($Button_OK_RunAs, "_Click_Button_OK_RunAs")
Local $Button_Cancel_RunAs = GUICtrlCreateButton("Annuler", 288, 271, 75, 23)
GUICtrlSetOnEvent($Button_Cancel_RunAs, "_Click_Button_Cancel_RunAs")
GUISetState(@SW_SHOW, $Form_RunAs)
HotKeySet("{ESC}", "_Click_Button_Cancel_RunAs")
While 1
Sleep(100)
WEnd
Func _Click_Radio1_Choice_RunAs()
$Choice = 1
GUICtrlSetState($Checkbox_RunAs, $GUI_ENABLE)
GUICtrlSetState($Label_User_RunAs, $GUI_DISABLE)
GUICtrlSetState($Combo_User_RunAs, $GUI_DISABLE)
;~ GUICtrlSetState($Button_RunAS, $GUI_DISABLE)
GUICtrlSetState($Label_Password_RunAs, $GUI_DISABLE)
GUICtrlSetState($Input_Password_RunAs, $GUI_DISABLE)
EndFunc
Func _Click_Checkbox_RunAs()
If GUICtrlRead($Checkbox_RunAs) = 1 Then ; Si 1 = cochée
$Protect = True
Else
$Protect = False
EndIf
EndFunc
Func _Click_Radio2_Choice_RunAs()
$Choice = 2
GUICtrlSetState($Checkbox_RunAs, $GUI_DISABLE)
GUICtrlSetState($Label_User_RunAs, $GUI_ENABLE)
GUICtrlSetState($Combo_User_RunAs, $GUI_ENABLE)
;~ GUICtrlSetState($Button_RunAS, $GUI_ENABLE)
GUICtrlSetState($Label_Password_RunAs, $GUI_ENABLE)
GUICtrlSetState($Input_Password_RunAs, $GUI_ENABLE)
EndFunc
Func _Click_Button_RunAS()
;~ Action du bouton ...
EndFunc
Func _Click_Button_OK_RunAs()
GUISetState(@SW_HIDE, $Form_RunAs) ; Cache le GUI principal
If $Choice = 1 Then
If $Protect = True Then
$Protect = "Active"
Else
$Protect = "Inactive"
EndIf
MsgBox(8256, "Résultat de vos choix", "Choix : " & $Choice & @CRLF & "Protection : " & $Protect)
ElseIf $Choice = 2 Then
MsgBox(8256, "Résultat de vos choix", "Choix : " & $Choice & @CRLF & "Utilisateur : " & GUICtrlRead($Combo_User_RunAs) & @CRLF & "Mot de passe : " & GUICtrlRead($Input_Password_RunAs))
Else
MsgBox(8208,"Erreur","Une erreur est survenue !")
EndIf
Exit
EndFunc
Func _Click_Button_Cancel_RunAs()
Exit
EndFunc