UDF > WinAPIEx > ShellEx >


_WinAPI_ShellGetKnownFolderPath

Obtient le chemin d'accès complet d'un dossier connu identifié

#include <WinAPIShellEx.au3>
_WinAPI_ShellGetKnownFolderPath ( $sGUID [, $iFlags = 0 [, $hToken = 0]] )

Paramètres

$sGUID Le GUID ($FOLDERID_*) qui identifie les dossiers standard enregistrés dans le système.
$iFlags [optionnel] Les flags qui spécifient les options de récupération spéciales. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes:
    $KF_FLAG_CREATE
    $KF_FLAG_DONT_VERIFY
    $KF_FLAG_DONT_UNEXPAND
    $KF_FLAG_NO_ALIAS
    $KF_FLAG_INIT
    $KF_FLAG_DEFAULT_PATH
    $KF_FLAG_NOT_PARENT_RELATIVE
    $KF_FLAG_SIMPLE_IDLIST

Windows 7 ou une version ultérieure
    $KF_FLAG_ALIAS_ONLY
$hToken [optionnel] Le jeton d'accès qui représente un utilisateur particulier. Si ce paramètre est 0, la fonction demande le dossier connu de l'utilisateur actuel. Définir le paramètre $hToken à une valeur de (-1) indique l'utilisateur par défaut. Notez que l'accès aux dossiers de l'utilisateur par défaut nécessite des privilèges d'administrateur.

Valeur de retour

Succès: Retourne le chemin du dossier connu.
Échec: Retourne la chaîne vide et fixe @error <> 0, @extended peut contenir le code d'erreur HRESULT.

Remarque

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

Voir aussi

Consultez SHGetKnownFolderPath dans la librairie MSDN.

Exemple

#include <APIShellExConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIShellEx.au3>
#include <WinAPISYs.au3>

If Number(_WinAPI_GetVersion()) < 6.0 Then
    MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Erreur', 'Nécessite Windows Vista ou une version ultérieure.')
    Exit
EndIf

ConsoleWrite( _WinAPI_ShellGetKnownFolderPath($FOLDERID_SendTo, 0, -1) & @CRLF)
ConsoleWrite( _WinAPI_ShellGetKnownFolderPath($FOLDERID_SendTo) & @CRLF)

Local Const $sFOLDERID_wrong = '{8983036C-27C0-404B-8F08-102D10DCFD75}'
ConsoleWrite('"'& _WinAPI_ShellGetKnownFolderPath($sFOLDERID_wrong) & '" @error = '& @error & '@extended = 0x'& Hex(@extended) & @CRLF)