computech1
asked on
Looking for a special ActiveX.
Hi There,
I need to get a PATH from a user.
I'm using CommonDialog Control for browsing the HDD.
But in CD u need to select a FILE to get all the path, there is a way to select a path without select a file ?
I need to get a PATH from a user.
I'm using CommonDialog Control for browsing the HDD.
But in CD u need to select a FILE to get all the path, there is a way to select a path without select a file ?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
'************************* ********** ***
'Windows API/Global Declarations for :Br
' owse Folder Dialog
'************************* ********** ***
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const BIF_DONTGOBELOWDOMAIN = 2
Private Const BIF_BROWSEFORCOMPUTER = &H1000
Private Const MAX_PATH = 260
Private Declare Function SHBrowseForFolder Lib "shell32" _
(lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" _
(ByVal pidList As Long, _
ByVal lpBuffer As String) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" _
(ByVal lpString1 As String, ByVal _
lpString2 As String) As Long
Private Type BrowseInfo
hwndOwner As Long
pIDLRootAs Long
pszDisplayName As Long
lpszTitle As Long
ulFlagsAs Long
lpfnCallbackAs Long
lParam As Long
iImage As Long
End Type
'************************* ********** ***
' Name: Browse Folder Dialog
' Description:Have ever wondered if ther
' e is an ActiveX object that make you bro
' wse for a folder. This API functions cal
' ls make the browse dialog
' By: Ziad Mohammad
'
' Inputs:Start a new Project and Add a c
' ommand button on the form named command1
'
'
' Assumes:This API function calls displa
' y the structure of your computer and all
' ow the use to select a folder
'
'This code is copyrighted and has' limited warranties.Please see http://w
' ww.Planet-Source-Code.com/ xq/ASP/txt Code
' Id.6710/lngWId.1/qx/vb/scr ipts/ShowC ode.
' htm'for details.'***************** ********** ********** *
Private Sub Command1_Click()
'Opens a Treeview control that displays
' the directories in a computer
Dim lpIDList As Long
Dim sBuffer As String
Dim szTitle As String
Dim tBrowseInfo As BrowseInfo
szTitle = "This is the title"
With tBrowseInfo
.hWndOwner = Me.hWnd
.lpszTitle = lstrcat(szTitle, "")
.ulFlags = BIF_RETURNONLYFSDIRS_
+BIF_DONTGOBELOWDOMAIN
End With
lpIDList = SHBrowseForFolder(tBrowseI nfo)
If (lpIDList) Then
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
sBuffer = Left(sBuffer, InStr
(sBuffer, vbNullChar) - 1)
MsgBox sBuffer
End If
End Sub
'Windows API/Global Declarations for :Br
' owse Folder Dialog
'*************************
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const BIF_DONTGOBELOWDOMAIN = 2
Private Const BIF_BROWSEFORCOMPUTER = &H1000
Private Const MAX_PATH = 260
Private Declare Function SHBrowseForFolder Lib "shell32" _
(lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" _
(ByVal pidList As Long, _
ByVal lpBuffer As String) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" _
(ByVal lpString1 As String, ByVal _
lpString2 As String) As Long
Private Type BrowseInfo
hwndOwner As Long
pIDLRootAs Long
pszDisplayName As Long
lpszTitle As Long
ulFlagsAs Long
lpfnCallbackAs Long
lParam As Long
iImage As Long
End Type
'*************************
' Name: Browse Folder Dialog
' Description:Have ever wondered if ther
' e is an ActiveX object that make you bro
' wse for a folder. This API functions cal
' ls make the browse dialog
' By: Ziad Mohammad
'
' Inputs:Start a new Project and Add a c
' ommand button on the form named command1
'
'
' Assumes:This API function calls displa
' y the structure of your computer and all
' ow the use to select a folder
'
'This code is copyrighted and has' limited warranties.Please see http://w
' ww.Planet-Source-Code.com/
' Id.6710/lngWId.1/qx/vb/scr
' htm'for details.'*****************
Private Sub Command1_Click()
'Opens a Treeview control that displays
' the directories in a computer
Dim lpIDList As Long
Dim sBuffer As String
Dim szTitle As String
Dim tBrowseInfo As BrowseInfo
szTitle = "This is the title"
With tBrowseInfo
.hWndOwner = Me.hWnd
.lpszTitle = lstrcat(szTitle, "")
.ulFlags = BIF_RETURNONLYFSDIRS_
+BIF_DONTGOBELOWDOMAIN
End With
lpIDList = SHBrowseForFolder(tBrowseI
If (lpIDList) Then
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
sBuffer = Left(sBuffer, InStr
(sBuffer, vbNullChar) - 1)
MsgBox sBuffer
End If
End Sub
ASKER
In one word : WOW !!
thanx Dan
thanx Dan
ASKER
Dan
I Still unable to browse Net drives ...
I Still unable to browse Net drives ...
ASKER