UDF > WinAPIEx > Dialog >


_WinAPI_ShellUserAuthenticationDlgEx

Crée et affiche une boîte de dialogue configurable qui accepte les informations d'authentification d'un utilisateur

#include <WinAPIDlg.au3>
_WinAPI_ShellUserAuthenticationDlgEx ( $sCaption, $sMessage, $sUser, $sPassword [, $iFlags = 0 [, $iAuthError = 0 [, $bSave = False [, $iPackage = 0 [, $hParent = 0]]]]] )

Paramètres

$sCaption Le titre de la boîte de dialogue.
$sMessage Un bref message à afficher dans la boîte de dialogue.
$sUser Le nom d'utilisateur pour remplir les champs d'authentification dans la boîte de dialogue. Pour les utilisateurs d'un domaine, la chaîne doit être dans le format suivant:

NomDomaine\NomUtilisateur
$sPassword Le mot de passe initial.
$iFlags [optionnel] Les flags qui spécifie le comportement de cette fonction. Il peut être une combinaison des valeurs suivantes:
$CREDUIWIN_AUTHPACKAGE_ONLY
$CREDUIWIN_CHECKBOX
$CREDUIWIN_ENUMERATE_ADMINS
$CREDUIWIN_ENUMERATE_CURRENT_USER
$CREDUIWIN_GENERIC
$CREDUIWIN_IN_CRED_ONLY
$CREDUIWIN_SECURE_PROMPT
$CREDUIWIN_PACK_32_WOW
$CREDUIWIN_PREPROMPTING
$iAuthError [optionnel] Le code d'erreur système qui est affiché dans la boîte de dialogue.
$bSave [optionnel] Indique si la case à cocher "Save" est sélectionné dans la boîte de dialogue (ce qui n'a de sens que si le flag $CREDUIWIN_CHECKBOX drapeau est activé), les valeurs valides sont:
True - Sélectionné.
False - Désélectionné (par défaut).
$iPackage [optionnel] Le package d'authentification pour lequel les informations d'authentification sont sérialisées.
$hParent [optionnel] La boîte de dialogue est modale par rapport à la fenêtre parent. Si ce paramètre est 0 (par défaut), le bureau est la fenêtre parent de la boîte de dialogue.

Valeur de retour

Succès: Retourne le tableau contenant les informations suivantes:
[0] - Le nom d'utilisateur, y compris le nom de domaine (si nécessaire).
[1] - Le mot de passe.
[2] - L'état de la case à cocher "Save".
[3] - Le package d'authentification.
Échec: Définit @error <> 0. Si la fonction est annulée par l'utilisateur, @extended sera contiendra le code d'erreur système ERROR_CANCELLED (1223). Toute autre valeur indique que la fonction a échoué le chargement.

Remarque

Cette fonction nécessite Windows Vista ou une version ultérieure.

Voir aussi

Consultez CredUIPromptForWindowsCredentials dans la librairie MSDN.

Exemple

#include <APIDlgConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIDlg.au3>
#include <WinAPIShPath.au3>
#include <WinAPISys.au3>

If Number(_WinAPI_GetVersion()) < 6.0 Then
    MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Erreur', 'Requiert Windows Vista ou ultéérieur.')
    Exit
EndIf

Local $aData = _WinAPI_ShellUserAuthenticationDlgEx('Authentication', 'Pour continuer, tapez un login et un mot de passe, puis cliquez sur OK.', '', '', BitOR($CREDUIWIN_ENUMERATE_CURRENT_USER, $CREDUIWIN_CHECKBOX))
If @error Then Exit

Local $aUser = _WinAPI_ParseUserName($aData[0])
If @error Then
    Exit
EndIf

ConsoleWrite('Domain:   '& $aUser[0] & @CRLF)
ConsoleWrite('User:     '& $aUser[1] & @CRLF)
ConsoleWrite('Password: '& $aData[1] & @CRLF)
ConsoleWrite('Save:     '& $aData[2] & @CRLF)
ConsoleWrite('Package:  '& $aData[3] & @CRLF)