導航:首頁 > 文件處理 > vb窗體預覽系統文件夾

vb窗體預覽系統文件夾

發布時間:2022-08-07 07:05:19

① vb 使用ListView控制項顯示文件夾內容

防止本程序重復運行可以在Form_Load()的開頭部分加上這幾句就行了
If App.PrevInstance Then
MsgBox "程序已經運行!", vbCritical, "程序"
Unload Me
End
End If

再把判斷「運行過」的語句刪除掉就行了
這個雙擊是可以執行lnk文件的啊。。

你的這張圖是ListView的大圖標顯示,把View屬性設置為lvwIcon。。

要獲得圖標的話要知道lnk文件連接到的exe文件路徑,在用API函數ExtractIconEx提取出來圖標,然後加入到ListView中,,(首先我不知道怎樣從lnk文件獲得exe文件所在地址……所以,做不出了~~~ -_=|||)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

建立一個窗體,添加一個ListView控制項,然後在代碼窗口裡添加代碼:

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Option Explicit
'路徑,要以「\」結尾
Const Path As String = "C:\Users\Administrator\Desktop\"
'擴展名
Const Pattern As String = "*.lnk"

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_NORMAL = 1

Private Sub Form_Load()
Dim fName As String, i As Integer
'顯示模式改成詳細資料
ListView1.View = lvwReport
'添加表頭的列
ListView1.ColumnHeaders.Add , , "文件名", 2240
ListView1.ColumnHeaders.Add , , "文件路徑", 5240
ListView1.ColumnHeaders.Add , , "已運行", 1000
'用Dir函數獲取文件列表(不停的用Dir可以獲得當前目錄中所有文件,直到""結束)
fName = Dir$(Path & Pattern)
Dim lst As ListItem
Do While fName <> ""
'添加一行
Set lst = ListView1.ListItems.Add(, , fName)
'添加這一行的第二列
lst.ListSubItems.Add , , Path + fName
'繼續獲得文件
fName = Dir$
Loop
End Sub

Private Sub ListView1_DblClick()
Dim lst As ListItem
'獲取選擇行
Set lst = ListView1.SelectedItem
'如果這一行的第3列有東西("是")就表明運行過了,給予提示
If lst.ListSubItems.Count = 2 Then
MsgBox "已經運行過: " + lst.SubItems(1), vbOKOnly + vbExclamation, "提示"
Exit Sub
End If
'用WinAPI函數來運行lnk文件
ShellExecute Me.hwnd, "open", lst.SubItems(1), vbNullString, Path, SW_NORMAL
'運行過的打上標記
lst.ListSubItems.Add , , "是"
End Sub

② 關於VB中的文件夾瀏覽框!

您指的是"我的電腦"中左邊的資源管理器窗口嗎?它實際上是一個TreeView控制項
默認情況下,該控制項是不會出現在工具箱中的,您可以這樣做:
右擊工具箱,選擇"部件"菜單,在彈出的窗口中
在"控制項"選項卡中選擇"Microsoft
windows
common
control
6.0(SP6)"
選中其前面的對勾,單擊確定後,你將會在工具箱中發現多出了好幾個控制項
有一個類似於樓梯的圖標,它就是您要找的控制項了.
說到使用它,還真有點慚愧,本人還真不會呢,祝您好運了,
記得加分哦,樓主

③ vb 實現文件瀏覽

1,先添加部件,在「工程」菜單里有「部件」,打開「部件」選項卡,找到「Microsoft Common Dialog Contrlo 6.0」選項,然後把前面的勾選,確定,此時在工具箱上出現了「CommonDialog控制項」 。

PrivateSubCommand1_Click()
CommonDialog1.DialogTitle=""
CommonDialog1.InitDir="C:"
CommonDialog1.Filter="*.*|*.*;"
CommonDialog1.FileName=""
CommonDialog1.ShowOpen
IfCommonDialog1.FileName<>""Then
Shell"cmd/cstart"""""""&CommonDialog1.FileName&""""
EndIf
EndSub


用上述代碼即可實現瀏覽文件,選擇後還能打開的功能。

④ VB6.0瀏覽文件夾對話框,怎麼做

添加一個form2。把他當做彈出對話框,在form2中添加一個dirlistbox控制項,在form1的command1的click事件中寫入form2.show。在form2的dir1的click事件中寫入form1.text1.text = dir1.path就OK了,避免使用繁瑣的API函數

⑤ vb 瀏覽文件和文件夾

VB6.0中沒有提供直接的控制項,即使網上說的「現成」也時別人做的,與其用別人不如自己做一個。雖然VB6沒有直接控制項,但有相似及方便實現的控制項。其中界面參考/wx 蕭何 /wx 的Treeview,至於獲取,VB6中帶有個磁碟控制項、目錄控制項和文件控制項,將它們的visible設置成false,連接treeview就可以實現。在.net2008中直接就有該控制項,在工具箱中。
希望能解決您的問題。

⑥ VB6.0 treeview顯示文件夾及文件

桌面上放置一個treeview,名稱Tv1,代碼如下:
Public Function GetExtName(strFileName As String) As String
Dim strTmp As String
Dim strByte As String
Dim i As Long
For i = Len(strFileName) To 1 Step -1
strByte = Mid(strFileName, i, 1)
If strByte <> "." Then
strTmp = strByte + strTmp
Else
Exit For
End If
Next i
GetExtName = strTmp
End Function

Public Function search(ByVal strPath As String, Optional strSearch As String) As Boolean
Dim strFile As String
Dim i As Long
Dim lDirCount As Long
On Error GoTo MyErr
If Right(strPath, 1) <> "\" Then strPath = strPath + "\"
Tv1.Nodes.Add , , strPath, strPath, ImageCollapse, ImageExpand
strFile = Dir(strPath, vbDirectory Or vbHidden Or vbNormal Or vbReadOnly)
While strFile <> ""
DoEvents
If (GetAttr(strPath + strFile) And vbDirectory) <> vbDirectory Then
If LCase(GetExtName(strPath + strFile)) = LCase(GetExtName(strSearch)) Then
Tv1.Nodes.Add strPath, tvwChild, strPath + strFile, strFile, ImageCollapse, ImageExpand
End If
End If
strFile = Dir
Wend
search = True
Exit Function
MyErr:
search = False
End Function

Private Sub Form_Load()
Tv1.Style = 7
search "D:\Documents\新建文件夾1", ".xls"
search "D:\Documents\新建文件夾2", ".xls"
End Sub

⑦ VB 怎麼製作「瀏覽」按扭,可以瀏覽電腦上的文件和文件夾,將瀏覽選擇好後的地址顯示在text1控制中。

給你提供幾種方法,第一個如一樓那樣,使用公用對話框,選擇文件。第二你可以使用VB提供的驅動器列表,文件夾列表,文件列表來完成此操作,非常簡單,如需代碼可以聯系我。第三可以通過API調用Windows的瀏覽文件夾對話框,給你如下代碼,添加到標准模塊里,需要時只要調用就行。
'這個模塊利用Shell API函數彈出文件夾瀏覽窗口
Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias _
"SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long

Private Declare Function SHGetSpecialFolderLocation Lib _
"shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder _
As Long, pIdl As ITEMIDLIST) As Long

Private Declare Function SHGetFileInfo Lib "Shell32" Alias _
"SHGetFileInfoA" (ByVal pszPath As Any, ByVal _
dwFileAttributes As Long, psfi As SHFILEINFO, ByVal _
cbFileInfo As Long, ByVal uFlags As Long) As Long

Private Declare Function ShellAbout Lib "shell32.dll" Alias _
"ShellAboutA" (ByVal hwnd As Long, ByVal szApp As _
String, ByVal szOtherStuff As String, ByVal hIcon As Long) _
As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" _
Alias "SHGetPathFromIDListA" (ByVal pIdl As Long, ByVal _
pszPath As String) As Long
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal pv As Long)

Const MAX_PATH = 260

Private Type SHITEMID
cb As Long
abID() As Byte
End Type

Private Type ITEMIDLIST
mkid As SHITEMID
End Type

Private Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type

Private Type SHFILEINFO
hIcon As Long
iIcon As Long
dwAttributes As Long
szDisplayName As String * MAX_PATH
szTypeName As String * 80
End Type
Private Function GetFolderValue(wIdx As Integer) As Long
If wIdx < 2 Then
GetFolderValue = 0
ElseIf wIdx < 12 Then
GetFolderValue = wIdx
Else
GetFolderValue = wIdx + 4
End If
End Function

Public Function SeleteFolder(ByVal frmX As Form)
'參數frmX為調用文件夾瀏覽窗口的窗體
Dim BI As BROWSEINFO
Dim nFolder As Long
Dim IDL As ITEMIDLIST
Dim pIdl As Long
Dim sPath As String
Dim SHFI As SHFILEINFO
Dim m_wCurOptIdx As Integer
Dim txtPath As String
Dim txtDisplayNafrmx As String

With BI
.hOwner = frmX.hwnd
nFolder = GetFolderValue(m_wCurOptIdx)

If SHGetSpecialFolderLocation(ByVal frmX.hwnd, ByVal nFolder, IDL) = NOERROR Then
.pidlRoot = IDL.mkid.cb
End If

.pszDisplayName = String$(MAX_PATH, 0)
.lpszTitle = "請選擇文件夾: "
.ulFlags = 0
End With

txtPath = ""
txtDisplayName = ""

pIdl = SHBrowseForFolder(BI)

If pIdl = 0 Then Exit Function
sPath = String$(MAX_PATH, 0)
SHGetPathFromIDList ByVal pIdl, ByVal sPath

txtPath = Left(sPath, InStr(sPath, vbNullChar) - 1)
'Debug.Print txtPath
'txtDisplayName = Left$(BI.pszDisplayName, _
InStr(BI.pszDisplayName, vbNullChar) - 1)

'SHGetFileInfo ByVal pIdl, 0&, SHFI, Len(SHFI), _
SHGFI_PIDL Or SHGFI_ICON Or SHGFI_SMALLICON

'SHGetFileInfo ByVal pIdl, 0&, SHFI, Len(SHFI), _
SHGFI_PIDL Or SHGFI_ICON
'CoTaskMemFree pIdl
SeleteFolder = txtPath
'MsgBox "你選擇的文件夾是" + Chr(13) + Chr(10) + txtPath
End Function

⑧ vb中 地址欄+文件/文件夾顯示窗口的編程方法

DriveListBox 控制項

在運行時,由於有 DriveListBox 控制項,所以可選擇一個有效的磁碟驅動器。該控制項用來顯示用戶系統中所有有效磁碟驅動器的列表。可以創建對話框,通過它從任一可用驅動器的磁碟文件列表中打開文件。

語法

DriveListBox

說明

設置 List、ListCount、和 ListIndex 屬性,就可以訪問列表中的項目。如果需要顯示 DirListBox 和 FileListBox 控制項,那麼可以編寫代碼,使它們與 DriveListBox 控制項同步,並使它們之間彼此同步。

⑨ 用VB(或者VB.net)怎樣打開「瀏覽文件夾窗口」(如圖)

Private Sub Command1_Click()
Dim sf As Object
Set sf = CreateObject("Shell.Application").BrowseForFolder(0, "選擇文件夾", 0, "")
If Not sf Is Nothing Then
MsgBox "選擇的文件夾是" & vbCrLf & sf.self.Path
End If
Set sf = Nothing
End Sub

⑩ Vb中實現瀏覽文件夾在打開想要的文件

VB 打開瀏覽文件夾

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

Private Const MAX_PATH = 260
Private Const BIF_RETURNONLYFSDIRS = 1

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 Sub Command1_Click()
Dim iNull As Integer, lpIDList As Long
Dim sPath As String, udtBI As BrowseInfo

With udtBI
'設置瀏覽窗口
.hWndOwner = Me.hWnd
'返回選中的目錄
.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

Text1.Text = sPath
End Sub

sPath 是返回的路徑

閱讀全文

與vb窗體預覽系統文件夾相關的資料

熱點內容
單片機控制顯示器 瀏覽:776
頂好花app下載怎麼找不到 瀏覽:989
手機命令大全 瀏覽:808
怎麼下郵政銀行app 瀏覽:250
不背單詞app單詞怎麼學習 瀏覽:481
程序員日常操作搞笑 瀏覽:382
android檢查是否安裝 瀏覽:375
蘋果手機編輯pdf文件 瀏覽:460
android系統名字 瀏覽:971
安卓手機如何進去有求必應屋 瀏覽:434
指數除法運演算法則底數不同 瀏覽:896
90壓縮干糧09壓縮干糧 瀏覽:516
android線程池框架 瀏覽:481
手機自帶解壓能解壓哪些文件 瀏覽:804
linux安裝hba驅動 瀏覽:119
java構造函數new 瀏覽:668
怎麼查家裡電器耗電量app 瀏覽:506
原神一直顯示重新連接伺服器怎麼辦 瀏覽:826
一般用途軸流式壓縮機 瀏覽:926
沒學歷的怎麼學編程 瀏覽:901