Obtient le chemin d'accès complet d'un dossier connu identifié
#include <WinAPIShellEx.au3>
_WinAPI_ShellGetKnownFolderPath ( $sGUID [, $iFlags = 0 [, $hToken = 0]] )
$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. |
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. |
Cette fonction nécessite Windows Vista ou une version ultérieure.
Consultez SHGetKnownFolderPath dans la librairie MSDN.
#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)