精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何運用VB.NET API函數遍歷實例

開發 后端
文章介紹如何用Windows VB.NET API函數遍歷指定驅動器、目錄的所有文件,運用API函數遍歷該目錄以及參照API-Guide的例子程序。

VB.NET經過長時間的發展,很多用戶都很了解VB.NET了,這里我來拓展介紹一下VB.NET API函數的運用,讓大家更好的深入了解。

以下代碼演示了如何用Windows VB.NET API函數遍歷指定驅動器、目錄的所有文件。其思路是:調出瀏覽文件夾窗口讓用戶指定所要搜索的起始路徑,然后用查找文件的API函數遍歷該目錄下及其包含的子目錄下的所有文件。本例需要:一個按鈕,一個TextBox和一個ListBox,其中,TextBox應設置為多行。
核心代碼參照API-Guide的兩個例子程序,特此聲明。

Option Explicit

  1. '查找***個文件的API  
  2. Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" 
    (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long  
  3. '查找下一個文件的API  
  4. Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" 
    (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long  
  5. '獲取文件屬性的API  
  6. Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" 
    (ByVal lpFileName As String) As Long  
  7. '關閉查找文件的API  
  8. Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long  
  9. '以下為調用瀏覽文件夾窗口的API  
  10. Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)  
  11. Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" 
    (ByVal lpString1 As String, ByVal lpString2 As String) As Long  
  12. Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long  
  13. Private Declare Function SHGetPathFromIDList Lib "shell32" 
    (ByVal pidList As Long, ByVal lpBuffer As String) As Long  
  14. '常量  
  15. Const MAX_PATH = 260 
  16. Const MAXDWORD = &HFFFF  
  17. Const INVALID_HANDLE_VALUE = -1  
  18. Const FILE_ATTRIBUTE_ARCHIVE = &H20  
  19. Const FILE_ATTRIBUTE_DIRECTORY = &H10  
  20. Const FILE_ATTRIBUTE_HIDDEN = &H2  
  21. Const FILE_ATTRIBUTE_NORMAL = &H80  
  22. Const FILE_ATTRIBUTE_READONLY = &H1  
  23. Const FILE_ATTRIBUTE_SYSTEM = &H4  
  24. Const FILE_ATTRIBUTE_TEMPORARY = &H100  
  25. Const BIF_RETURNONLYFSDIRS = 1 
  26. Private Type FILETIME  
  27. dwLowDateTime As Long  
  28. dwHighDateTime As Long  
  29. End Type  
  30. '定義類(用于查找文件)  
  31. Private Type WIN32_FIND_DATA  
  32. dwFileAttributes As Long  
  33. ftCreationTime As FILETIME  
  34. ftLastAccessTime As FILETIME  
  35. ftLastWriteTime As FILETIME  
  36. nFileSizeHigh As Long  
  37. nFileSizeLow As Long  
  38. dwReserved0 As Long  
  39. dwReserved1 As Long  
  40. cFileName As String * MAX_PATH  
  41. cAlternate As String * 14  
  42. End Type  
  43. '定義類(用于瀏覽文件夾窗口)  
  44. Private Type BrowseInfo  
  45. hWndOwner As Long  
  46. pIDLRoot As Long  
  47. pszDisplayName As Long  
  48. lpszTitle As Long  
  49. ulFlags As Long  
  50. lpfnCallback As Long  
  51. lParam As Long  
  52. iImage As Long  
  53. End Type  
  54. '自定義函數  
  55. Function StripNulls(OriginalStr As String) As String  
  56. If (InStr(OriginalStr, Chr(0)) > 0) Then  
  57. OriginalStr = Left(OriginalStr, InStr(OriginalStr, Chr(0)) - 1)  
  58. End If  
  59. StripNulls = OriginalStr 
  60. End Function  
  61. '自定義函數  
  62. Function FindFilesAPI(path As String, SearchStr As String, FileCount As Integer, _  
  63. DirCount As Integer)  
  64. Dim FileName As String ' 文件名  
  65. Dim DirName As String ' 子目錄名  
  66. Dim dirNames() As String ' 目錄數組  
  67. Dim nDir As Integer ' 當前路徑的目錄數  
  68. Dim i As Integer ' 循環計數器變量  
  69. Dim hSearch As Long ' 搜索句柄變量  
  70. Dim WFD As WIN32_FIND_DATA  
  71. Dim Cont As Integer  
  72. If Right(path, 1) <> "\" Then pathpath = path & "\"  
  73. '搜索子目錄  
  74. nDir = 0 
  75. ReDim dirNames(nDir)  
  76. Cont = True 
  77. hSearch = FindFirstFile(path & "*", WFD)  
  78. If hSearch <> INVALID_HANDLE_VALUE Then  
  79. Do While Cont  
  80. DirName = StripNulls(WFD.cFileName)  
  81. If (DirName <> ".") And (DirName <> "..") Then  
  82. If GetFileAttributes(path & DirName) And FILE_ATTRIBUTE_DIRECTORY Then  
  83. dirNames(nDir) = DirName  
  84. DirCountDirCount = DirCount + 1  
  85. nDirnDir = nDir + 1  
  86. ReDim Preserve dirNames(nDir)  
  87. End If  
  88. End If  
  89. Cont = FindNextFile(hSearch, WFD) '獲取下一個子目錄  
  90. Loop  
  91. Cont = FindClose(hSearch)  
  92. End If  
  93. ' 遍歷目錄并累計文件總數  
  94. hSearch = FindFirstFile(path & SearchStr, WFD)  
  95. Cont = True 
  96. If hSearch <> INVALID_HANDLE_VALUE Then  
  97. While Cont  
  98. FileName = StripNulls(WFD.cFileName)  
  99. If (FileName <> ".") And (FileName <> "..") Then  
  100. FindFilesAPIFindFilesAPI = FindFilesAPI + (WFD.nFileSizeHigh * MAXDWORD) + WFD.nFileSizeLow  
  101. FileCountFileCount = FileCount + 1  
  102. List1.AddItem path & FileName  
  103. End If  
  104. Cont = FindNextFile(hSearch, WFD) ' 獲取下一個文件  
  105. Wend  
  106. Cont = FindClose(hSearch)  
  107. End If  
  108. '如果子目錄存在則遍歷之  
  109. If nDir > 0 Then  
  110. For i = 0 To nDir - 1  
  111. FindFilesAPIFindFilesAPI = FindFilesAPI + FindFilesAPI(path & dirNames(i) & "\", _  
  112. SearchStr, FileCount, DirCount)  
  113. Next i  
  114. End If  
  115. End Function  
  116. '查找按鈕代碼  
  117. Sub Command1_Click()  
  118. Dim SearchPath As String, FindStr As String  
  119. Dim FileSize As Long  
  120. Dim NumFiles As Integer, NumDirs As Integer  
  121. Dim iNull As Integer, lpIDList As Long, lResult As Long  
  122. Dim sPath As String, udtBI As BrowseInfo  
  123. With udtBI  
  124. '設置瀏覽窗口  
  125. .hWndOwner = Me.hWnd  
  126. '返回選中的目錄  
  127. .ulFlags = BIF_RETURNONLYFSDIRS 
  128. End With  
  129. '調出瀏覽窗口  
  130. lpIDList = SHBrowseForFolder(udtBI)  
  131. If lpIDList Then  
  132. sPath = String$(MAX_PATH, 0)  
  133. '獲取路徑  
  134. SHGetPathFromIDList lpIDList, sPath  
  135. '釋放內存  
  136. CoTaskMemFree lpIDList  
  137. iNull = InStr(sPath, vbNullChar)  
  138. If iNull Then  
  139. sPath = Left$(sPath, iNull - 1)  
  140. End If  
  141. End If  
  142. Screen.MousePointer = vbHourglass 
  143. List1.Clear  
  144. SearchPath = sPath '選中的目錄為搜索的起始路徑  
  145. FindStr = "*.*" '搜索所有類型的文件(此處可另作定義)  
  146. FileSize = FindFilesAPI(SearchPath, FindStr, NumFiles, NumDirs)  
  147. Text1.Text = "查找到的文件數:" & NumFiles & vbCrLf & "查找的目錄數:" & _  
  148. NumDirs + 1 & vbCrLf & "文件大小總共為:" & vbCrLf & _  
  149. Format(FileSize, "#,###,###,##0") & "字節"  
  150. Screen.MousePointer = vbDefault 
  151. End Sub   
  152. '調出瀏覽窗口  
  153. lpIDList = SHBrowseForFolder(udtBI)  
  154. If lpIDList Then  
  155. sPath = String$(MAX_PATH, 0)  
  156. '獲取路徑  
  157. SHGetPathFromIDList lpIDList, sPath  
  158. '釋放內存  
  159. CoTaskMemFree lpIDList  
  160. iNull = InStr(sPath, vbNullChar)  
  161. If iNull Then  
  162. sPath = Left$(sPath, iNull - 1)  
  163. End If  
  164. End If  
  165. Screen.MousePointer = vbHourglass 
  166. List1.Clear  
  167. SearchPath = sPath '選中的目錄為搜索的起始路徑  
  168. FindStr = "*.*" '搜索所有類型的文件(此處可另作定義)  
  169. FileSize = FindFilesAPI(SearchPath, FindStr, NumFiles, NumDirs)  
  170. Text1.Text = "查找到的文件數:" & NumFiles & vbCrLf & "查找的目錄數:" & _  
  171. NumDirs + 1 & vbCrLf & "文件大小總共為:" & vbCrLf & _  
  172. Format(FileSize, "#,###,###,##0") & "字節"  
  173. Screen.MousePointer = vbDefault 
  174. End Sub    

以上就是VB.NET API函數的實例,希望對大家有幫助。

【編輯推薦】

  1. 強化VB.NET Word文檔創建Document對象
  2. VB.NET Word對象模型兩大要點介紹
  3. 全方位VB.NET文件操作和分類講述
  4. 細談VB.NET路徑選擇對話框實現(API)實例
  5. 強化VB.NET編程多線程句柄技巧
責任編輯:田樹 來源: 重慶IT商網
相關推薦

2009-10-28 15:01:59

VB.NET SHEL

2009-10-26 10:44:27

VB.NET API函

2009-11-04 11:32:20

VB.NET回調函數

2009-10-15 17:50:48

VB.NET調用API

2009-11-03 12:52:38

VB.NET Wind

2009-10-23 10:01:28

VB.NET申明Win

2009-11-02 10:30:37

VB.NET EXCE

2009-11-03 09:37:33

VB.NET重載

2009-10-21 10:45:50

VB.NET Quic

2009-11-03 13:02:28

VB.NET Wind

2009-10-15 17:50:48

VB.NET Spli

2010-01-19 18:24:29

VB.NET調用Win

2009-10-28 14:34:44

VB.NET Tree

2009-10-28 14:13:32

VB.NET File

2010-01-18 18:20:49

VB.NET使用API

2009-10-29 16:29:02

VB.NET文件系統對

2009-11-02 11:02:58

VB.NET XML文

2009-11-10 15:52:20

VB.NET變量名

2010-01-07 16:46:28

VB.NET延時函數

2009-10-20 14:05:42

VB.NET路徑
點贊
收藏

51CTO技術棧公眾號

国产精品国产亚洲精品看不卡15| 中文字幕国产精品久久| 亚洲一区二区三区av无码| 高清乱码毛片入口| 日韩成人免费电影| 久久国产精品免费视频| 国产性生活毛片| 99只有精品| 亚洲一本大道在线| 日韩一区二区三区高清| 国产丰满美女做爰| 久久亚洲欧美| 色综合久综合久久综合久鬼88| 黄色工厂在线观看| 精品一区二区三区中文字幕在线| 欧美午夜精品在线| 欧美做受777cos| 国产一二在线观看| 大桥未久av一区二区三区中文| 日本在线精品视频| 欧美黄色免费在线观看| 欧美精选视频在线观看| av日韩精品| 福利视频网站一区二区三区| 欧美有码在线观看视频| 污污的视频在线免费观看| 日韩免费电影在线观看| 日韩你懂的电影在线观看| 爱情岛论坛成人| 97人人在线视频| 日韩一区日韩二区| 日韩精品一区二区三区丰满| 少妇高潮一区二区三区69| 久久99精品国产.久久久久久| 2018中文字幕一区二区三区| 青青草免费av| 99久久九九| 综合国产在线视频| 亚洲色成人网站www永久四虎 | 亚洲国产精品一区二区久久 | 亚洲一区二区三区高清| 欧美大片免费观看在线观看网站推荐| 亚洲不卡的av| 成人av资源电影网站| 亚洲精品自拍第一页| 人妻换人妻a片爽麻豆| 亚洲成人偷拍| 日韩欧美高清dvd碟片| 91香蕉视频在线观看视频| 成人全视频在线观看在线播放高清 | 日本一道高清亚洲日美韩| 精品免费在线视频| 内射国产内射夫妻免费频道| freexxx性亚洲精品| 亚洲成人二区| 国产一区二区三区国产| 欧美亚洲视频在线观看| 日韩无码精品一区二区三区| 亚洲精品一级| 欧美在线视频网| 黄瓜视频在线免费观看| 久久一区精品| 国产精品偷伦免费视频观看的| 波多野结衣一区二区三区在线| 天堂成人免费av电影一区| 国产精品高精视频免费| 中文字幕日韩经典| 国内外成人在线视频| 91网站在线免费观看| www.国产黄色| 9久草视频在线视频精品| 久久精品国产理论片免费| 欧美日韩在线精品一区二区三区激情综| 26uuu国产在线精品一区二区| 美脚丝袜一区二区三区在线观看| 国产视频第一区| 国产精品护士白丝一区av| 三级网在线观看| 成年人国产在线观看| 色噜噜夜夜夜综合网| 九九热精品在线播放| 欧洲精品99毛片免费高清观看| 亚洲国产97在线精品一区| caopeng视频| 欧美激情黄色片| 欧美激情视频一区二区| 午夜精品一区二| 国产在线一区观看| 狠狠干一区二区| 69av亚洲| 岛国精品视频在线播放| 男人揉女人奶房视频60分| 精品久久在线| 亚洲国产成人91精品| 老头老太做爰xxx视频| 欧美日韩p片| 国产精品91视频| 亚洲国产999| 国产亚洲欧美在线| 一二三在线视频| 欧美日韩123区| 欧美r级在线观看| 国产无遮挡在线观看| 伊人久久成人| 成人免费视频网址| 神马久久久久| 亚洲精品福利视频网站| 无码人妻h动漫| 88久久精品| www.久久色.com| 中文字幕精品无码一区二区| 国产a精品视频| 亚洲一区在线直播| 亚洲精品福利电影| 欧美大片国产精品| 亚洲国产精品一区二区久久hs| 在线亚洲观看| av噜噜色噜噜久久| 日本在线看片免费人成视1000| 欧美日韩综合视频| 黑森林av导航| 久久久久久久久国产一区| 国产精品扒开腿做爽爽爽视频| 天堂网在线播放| 一区二区三区影院| 亚洲欧美手机在线| 波多野结衣一区| 日产精品久久久一区二区福利| 欧美自拍偷拍第一页| 亚洲欧美乱综合| 亚洲这里只有精品| 精品国产日韩欧美| 欧美最猛性xxxxx(亚洲精品)| 亚洲成熟女性毛茸茸| 亚洲私人影院在线观看| xx欧美撒尿嘘撒尿xx| 日本不卡免费一区| 国产精品美女主播在线观看纯欲| 日本v片在线免费观看| 婷婷久久综合九色综合绿巨人| 两女双腿交缠激烈磨豆腐| 亚洲久久久久| 成人a免费视频| 成人影院在线观看| 日韩亚洲欧美成人一区| 日韩在线中文字幕视频 | 在线观看网站黄| 在线观看免费一区二区| 91沈先生作品| av毛片在线免费| 日韩精品一区二区三区在线 | 91极品视觉盛宴| 91网站免费视频| 麻豆视频一区二区| 亚洲在线播放电影| 欧美经典一区| 国模私拍视频一区| 亚州精品国产精品乱码不99按摩| 精品福利视频导航| 波多野结衣a v在线| 日韩电影免费一区| 一区二区三区视频| 日韩一二三区| 性欧美激情精品| 国产人成在线观看| 欧美日韩国产首页在线观看| 免费三级在线观看| 成人爽a毛片一区二区免费| 国产青青在线视频| 欧美亚洲激情| 91久久国产综合久久蜜月精品| 丁香高清在线观看完整电影视频| 亚洲美女中文字幕| 少妇又紧又色又爽又刺激视频| 综合久久国产九一剧情麻豆| 精人妻一区二区三区| 性欧美xxxx大乳国产app| 亚洲欧美国产不卡| 国产成人福利av| 国产精品国内视频| 色a资源在线| 亚洲图片制服诱惑| 亚洲xxx在线| 一本久久综合亚洲鲁鲁五月天| 18精品爽国产三级网站| 盗摄精品av一区二区三区| 精品99在线视频| 亚洲精品小说| 免费成人看片网址| 欧美.com| 国产成人精品久久| 污污片在线免费视频| 亚洲日本aⅴ片在线观看香蕉| 国产绿帽刺激高潮对白| 狠狠躁夜夜躁人人躁婷婷91| 强制高潮抽搐sm调教高h| av欧美精品.com| 999热精品视频| 久久久久一区| 欧美午夜小视频| 久久精品影视| 日韩免费一区二区三区| 91精品国产自产精品男人的天堂 | 中文字幕欧美在线观看| 亚洲午夜av在线| a级黄色免费视频| 97精品超碰一区二区三区| 波多野结衣免费观看| 日本不卡视频在线| www.浪潮av.com| 欧美午夜不卡| 桥本有菜av在线| 欧美日韩国产一区二区三区不卡| 国产视频一区二区三区四区| 国产精品毛片aⅴ一区二区三区| 国产成人精品午夜| 9999精品成人免费毛片在线看| 久久天天躁狠狠躁夜夜躁| 国产黄在线观看免费观看不卡| 亚洲电影成人av99爱色| 国产美女三级无套内谢| 在线中文字幕不卡| 91浏览器在线观看| 亚洲国产你懂的| 乱h高h女3p含苞待放| 国产精品美女一区二区三区 | 成人亚洲一区二区| 欧美高清视频一区二区三区在线观看| a级日韩大片| 97人人香蕉| 欧美国产亚洲精品| 亚洲最大福利网站| 国产免费区一区二区三视频免费 | 中文字幕综合网| 国产aaaaaaaaa| 欧美韩国日本一区| 国产精品久久久久无码av色戒| 91在线视频播放| 精品人妻一区二区免费| 国产99精品国产| 欧美老女人bb| 成人午夜视频网站| 精品国产乱码久久久久夜深人妻| 国产精品69毛片高清亚洲| 久久精品国产露脸对白| 狠狠色狠狠色综合| 男插女视频网站| 国产成人福利片| 国产情侣久久久久aⅴ免费| youjizz国产精品| 国产真实乱人偷精品| caoporen国产精品视频| 国产xxxxxxxxx| 久久久久一区二区三区四区| 魔女鞋交玉足榨精调教| 国产欧美精品日韩区二区麻豆天美| 亚洲一区二区自偷自拍 | 亚洲精品理论电影| 日韩精品系列| 在线日韩欧美视频| 欧美精品电影| 精品少妇v888av| 国产精品偷拍| 日本一欧美一欧美一亚洲视频| 国产一区二区主播在线| 国产欧美一区二区三区久久人妖| 日日夜夜综合| 成人免费看片网站| 免费成人网www| 一本一道久久a久久综合精品| 欧美在线黄色| www.com毛片| 久久国产视频网| 色哟哟无码精品一区二区三区| 久久综合网色—综合色88| 一级二级黄色片| 亚洲午夜视频在线观看| 中文字幕69页| 欧美一区二区三区思思人| 欧美一级在线免费观看 | 亚洲欧洲综合网| 亚洲成av人影院在线观看网| 国产一区免费看| 欧美一级欧美三级| 你懂的免费在线观看视频网站| 日韩在线视频国产| 538在线观看| 国产欧美精品一区二区| 嗯用力啊快一点好舒服小柔久久| 色999日韩自偷自拍美女| 欧美日韩国产欧| 手机在线免费观看毛片| 国产99久久久国产精品| 午夜影院黄色片| 天天综合色天天综合| 国产一区二区在线视频观看| 国产视频综合在线| 污污网站在线看| 国产精品视频自拍| 日韩激情网站| 粉嫩av一区二区三区天美传媒 | 日本一道本视频| 亚洲成a人v欧美综合天堂| 91麻豆一区二区| 亚洲美女在线视频| a在线视频v视频| 91精品国产99久久久久久红楼 | 中日韩av在线| 日韩久久精品成人| 欧美性猛片xxxxx免费中国| 国产精品自产拍在线观看| 亚洲美女久久| 国产一区二区视频播放| 狠狠色狠狠色综合日日91app| 一区二区精品免费| 欧美日韩国产精品专区| 午夜久久久久久噜噜噜噜| 精品国偷自产在线| 日韩国产网站| 奇米影视首页 狠狠色丁香婷婷久久综合| 欧美成人高清| 毛片毛片毛片毛| 国产精品欧美一级免费| 无码一区二区三区| 国产丝袜精品第一页| 欧美freesex黑人又粗又大| 国产精品av一区| 国产精品地址| 久久久久99人妻一区二区三区| 亚洲视频资源在线| 91国偷自产中文字幕久久| 一区二区三区国产在线观看| 性欧美超级视频| 欧美日韩国产精品一区二区| 国产一区导航| 丰满少妇一区二区三区| 污片在线观看一区二区| 色哟哟国产精品色哟哟| 久久免费视频在线观看| 国产精品白浆| 大陆极品少妇内射aaaaa| 99国产精品久久久久| 亚洲黄色小说图片| 亚洲日韩欧美视频一区| 精品国模一区二区三区| 日韩久久不卡| 久久精品国产99| 日韩精品123区| 欧美大肚乱孕交hd孕妇| 人人超在线公开视频| 国产不卡一区二区在线观看| 伊人久久综合| 熟女少妇一区二区三区| 欧美三级在线播放| 黄av在线播放| 国产精品美女诱惑| 久久www成人_看片免费不卡| 国产肥白大熟妇bbbb视频| 欧美色图12p| 国产黄网站在线观看| 动漫一区二区在线| 国产一区白浆| 亚洲一级黄色录像| 日韩三级视频中文字幕| f2c人成在线观看免费视频| 日本一区二区不卡高清更新| 久久精品免费观看| 美女福利视频在线观看| 精品成人免费观看| 韩国三级一区| avove在线观看| 99精品国产99久久久久久白柏| 免费黄色片视频| 久久综合免费视频| 牛牛影视久久网| 日本肉体xxxx裸体xxx免费| 亚洲黄网站在线观看| 亚洲色图21p| 成人在线精品视频| 夜夜精品视频| 波多野结衣久久久久| 亚洲第一色中文字幕| 在线一区视频观看| 男人添女人下部视频免费| 久久久高清一区二区三区| 精品国产区一区二| 日本高清+成人网在线观看| 亚洲va在线| 欧美图片一区二区| 欧美成人精品高清在线播放 | 国产农村妇女精品一区二区| 91社区视频在线观看| 亚洲精品狠狠操| 中文幕av一区二区三区佐山爱| 欧美综合在线播放| 亚洲少妇屁股交4| 国产二区视频在线观看| 国产精品一区二区三区免费| 久久国产剧场电影| 国产日产精品一区二区三区|