UDF > WinAPIEx > Files & Devices > Files >


_WinAPI_SearchPath

Recherche un fichier spécifié dans un chemin d'accès spécifié

#include <WinAPIFiles.au3>
_WinAPI_SearchPath ( $sFilePath [, $sSearchPath = ''] )

Paramètres

$sFilePath Le nom du fichier à rechercher.
$sSearchPath [optionnel] Le chemin où rechercher le fichier. Si ce paramètre est omis ou la chaîne vide (par défaut), la fonction recherche un fichier dans un chemin de recherche système du registre (voir ci-dessous).

Valeur de retour

Succès: Retourne le chemin du fichier trouvé.
Échec: Définit @error <> 0, appelez _WinAPI_GetLastError() pour obtenir des informations supplémentaires sur l'erreur.

Remarques

Si le chemin est une chaîne vide, _WinAPI_SearchPath() recherche un fichier à partir de la valeur actuelle de la clé de Registre suivante:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\ SafeProcessSearchMode

Lorsque la valeur de cette clé de Registre est définie à 1, _WinAPI_SearchPath() recherches d'abord les dossiers qui sont spécifiés dans le chemin du système, puis recherche dans le dossier de travail courant. Lorsque la valeur de cette clé de registre est définie à 0, l'ordinateur recherche d'abord le dossier de travail courant, puis recherche les dossiers qui sont spécifiés dans le chemin du système. La valeur par défaut du système pour cette clé de Registre est 0.

Cette fonction n'est pas recommandée pour localiser un fichier .dll si l'utilisation prévue de la sortie est un appel à la fonction _WinAPI_LoadLibrary(). Cela peut se traduire par une localisation erronée du fichier .dll parce que l'ordre de recherche de la fonction _WinAPI_SearchPath() diffère de l'ordre de recherche utilisé par la fonction _WinAPI_LoadLibrary(). Si vous avez besoin de localiser et de charger un fichier dll, utilisez la fonction _WinAPI_LoadLibrary().

Le mode de recherche utilisé par la fonction _WinAPI_SearchPath() peut également être définie par le processus en appelant la fonction _WinAPI_SetSearchPathMode().

En relation

_WinAPI_LoadLibrary, _WinAPI_SetSearchPathMode

Voir aussi

Consultez SearchPath dans la librairie MSDN.

Exemple

#include <WinAPIFiles.au3>

Local $sFile = 'Notepad.exe'

ConsoleWrite( _WinAPI_SearchPath($sFile) & @CRLF)
ConsoleWrite( _WinAPI_SearchPath($sFile, @SystemDir) & @CRLF)