細談VB.NET路徑選擇對話框實現(API)實例
VB.NET 這門語言被我們大部分人所熟悉。但是今天在這里還是要介紹一下首先接受一下VB.NET,更主要的是讓大家深入的了解一下VB.NET路徑選擇目錄對話框實例。
VB.NET是Visual Basic.net的簡稱。提到VB.NET,就不能不先提一下vb(Visual Basic)。Visual Basic是Windows環境下的一種簡單、易學的編程語言,由于其開發程序的快速、高效,深受程序員的喜愛。嚴格地來說Visual Basic只是半面向對象的語言,其面向對象的能力及程序的執行效率往往不能一些程序員的需要,因此,大的項目很少使用Visual Basic來開發。Visual Basic的***一個版本是Visual Basic 6.0。在Visual Basic 6.0之后,微軟公司推出了全新的“.NEt構架”,在其***個版本-Visual Studio.NET 7.0中,集成了Visual Basic 7.0、Visual C++ 7.0及C#,其中的Visual Basic 7.0(vb 7.0),即是vb.net的***個版本。現在.NET是***版本是Visual Studio 2005,對應的vb.net的***版本是集成在其中的Visual Basic 9.0(vb 9.0),也可稱為vb.net 2005。 下面介紹一下VB.NET路徑選擇目錄對話框實現(API):
- Private Type BrowseInfo
- hWndOwner As Long
- pIDLRoot As Long
- pszDisplayName As Long
- lpszTitle As Long
- ulFlags As Long
- lpfnCallback As Long
- lParam As Long
- iImage As Long
- End Type
- Const BIF_RETURNONLYFSDIRS = 1
- Const MAX_PATH = 260
- Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
- Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
- 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 Function getFolder(ByVal title As String) As String
- Dim iNull As Integer, lpIDList As Long, lResult As Long
- Dim sPath As String, udtBI As BrowseInfo
- With udtBI
- '設置彈出的對話框的父窗口句柄
- .hWndOwner = Me.hWnd
- .lpszTitle = lstrcat(title, "") '標題
- .ulFlags = BIF_RETURNONLYFSDIRS
- End With
- lpIDList = SHBrowseForFolder(udtBI)
- If lpIDList Then
- sPath = String$(MAX_PATH, 0)
- SHGetPathFromIDList lpIDList, sPath
- CoTaskMemFree lpIDList
- iNull = InStr(sPath, vbNullChar)
- If iNull Then
- sPath = Left$(sPath, iNull - 1)
- End If
- End If
- getFolder = sPath
- End Function
- Private Sub Command1_Click()
- Text1.Text = getFolder("請選擇文件夾")
- End Sub
以上就VB.NET路徑解決方案,希望可以給你帶來幫助。
【編輯推薦】