'Clés pour BrowseAndCreate
Public Enum ctConfigBrowse
PrtButtonOkCancel = -273
PrtButtonOkCancelInfo = -17
PrtButtonOkCancelTextbox = -1
ButtonCreateOKCancel = 0
ButtonCreateOKCancelTextBox = 16
ButtonCreateOKCancelInfo = 256
ButtonOkCancel = 512
ButtonOkCancelTextbox = 528
End Enum
'Clés pour BrowseAndCreate
Public Enum ctConfigDir
DirExplorer = 1 'Interdit
DirProgrammeUser
DirPanneauDeConfiguration
DirImprimantesEtTelecopieurs
DirMesDocuments
DirFavorisUser
DirDemarrageUser
DirDocumentsRecents
DirSendTo
DirCorbeille
DirMenuDemarrer
DirBureau
DirMaMusique
DirMesVideosUser
DirPosteDeTravail = 17
DirFavorisReseau
DirVoisinReseau
DirFonts
DirModelesUser
DirMenuDemarrerPrgramme
DirProgrammeAllUser
DirDemarrageAllUser
DirApplicationDataUser = 26
DirVoisinageImpression
DirLocalSettingsApplicationData
DirFavorisAllUser = 31
DirTemporaryInternetFilesUser
DirCookiesUser
DirHistoriqueUser
DirApplicationDataAllUser
DirWindows
DirWindowsSystem32
DirProgramFiles
DirMesImagesUser
DirUser
DirFichiersCommuns = 43
DirModeleAllUser = 45
DirDocumentsPartages
DirOutilsAdministrationAllUser
DirOutilsAdministrationUser
DirConnexionReseau
DirMaMusiqueAllUser = 53
DirMesImagesAllUser
DirMesVideosAllUser
DirRessources
DirResources040c
DirCDBurning = 59
End Enum
Function BrowseAndCreate(ByVal hWnd As System.IntPtr, Optional ByVal Title As String = "Rechercher...", _
Optional ByVal ConfigBox As ctConfigBrowse = ctConfigBrowse.ButtonCreateOKCancelTextBox, _
Optional ByVal ConfigDir As ctConfigDir = ctConfigDir.DirPosteDeTravail) As String
Dim sResult As String = String.Empty
' CHOIX REPERTOIRE
Try
Dim oShell As Object = CreateObject("Shell.Application")
Dim oFolder As Object = oShell.BrowseForFolder(hWnd, Title, ConfigBox, CInt(ConfigDir))
sResult = oFolder.items.Item.Path
' TEST LE RéSULTAT
If sResult.Length = 0 OrElse sResult.Substring(0, 2) = "::" Then
Return String.Empty
Else
Return sResult & IIf(sResult.Substring(sResult.Length - 1, 1) = "\", String.Empty, "\")
End If
oFolder = Nothing
oShell = Nothing
Catch ex As Exception
Return String.Empty
End Try
End Function