精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产麻豆一精品一男同| 中文字幕求饶的少妇| 性欧美freesex顶级少妇| 久久伊人蜜桃av一区二区| 国产精品亚洲自拍| 欧美精品xxxxx| 深爱激情综合| 9191精品国产综合久久久久久| 大伊香蕉精品视频在线| 国产高清免费在线播放| 国产成人亚洲综合a∨婷婷| 26uuu亚洲伊人春色| 欧美乱大交做爰xxxⅹ小说| 国产精品xxx在线观看| 在线精品视频一区二区三四| 久久久99精品视频| 精品推荐蜜桃传媒| 成人污视频在线观看| 国产在线播放不卡| 亚洲免费在线观看av| 91精品国产91久久综合| 亚洲免费av片| 久久久老熟女一区二区三区91| 黄色成人在线观看网站| 午夜国产精品影院在线观看| 吴梦梦av在线| 国产大学生校花援交在线播放| 国产成人免费在线观看| 国产精品日韩久久久久| 日日噜噜噜噜人人爽亚洲精品| 亚洲综合色站| 伊人成人开心激情综合网| 在线精品视频播放| а天堂中文最新一区二区三区| 日韩欧美在线播放| 国产www免费| av毛片在线看| 一色桃子久久精品亚洲| 日韩av电影免费在线| 日本一区高清| a在线欧美一区| 成人av播放| 一级特黄aaaaaa大片| 日韩电影在线一区| 日本成人激情视频| 日日夜夜综合网| 亚洲黄色天堂| 久久免费视频在线| 麻豆一区产品精品蜜桃的特点 | 老司机免费视频久久| 欧美激情精品在线| 国产探花在线播放| 中文字幕人成人乱码| 久久久精品999| 亚洲欧美精品久久| 99精品一区| 久久精品青青大伊人av| 国产精品三区在线观看| 亚洲91视频| 欧美日韩第一视频| 久草视频手机在线观看| 国产一区亚洲| 97视频在线观看播放| youjizz在线视频| 免费视频久久| 国产精品69久久久久| 午夜视频网站在线观看| 美女网站色91| 成人国产亚洲精品a区天堂华泰| 国产精品天天操| 国产精品自在欧美一区| 国产精品白丝jk白祙| 刘亦菲毛片一区二区三区| 99久久精品国产毛片| 久久涩涩网站| 亚洲s色大片| 一区二区三区在线视频免费观看| 日韩网站在线免费观看| 中文字幕不卡三区视频| 欧美日韩在线精品一区二区三区激情 | 中文字字幕码一二三区| 国产成人短视频在线观看| 少妇高潮久久77777| 欧美成人777| 亚洲精品一二| 国产精品扒开腿做爽爽爽视频| 一二三四区在线| 懂色av一区二区三区免费看| 蜜桃久久精品乱码一区二区 | 久本草在线中文字幕亚洲| 日韩久久精品成人| 一级免费黄色录像| 国产日韩1区| 国产一区私人高清影院| 亚洲免费成人网| 国产亚洲欧洲997久久综合| 亚洲小说欧美另类激情| 草草视频在线| 欧美日韩一区二区在线观看视频| 91av免费观看| 精品国内自产拍在线观看视频| 欧美成人午夜免费视在线看片| 成人精品免费在线观看| 精品一区二区影视| 欧美精品在线一区| 亚洲精品白浆| 91福利在线播放| 第一页在线视频| 日韩在线观看一区 | 无码人妻久久一区二区三区不卡| 久久99久久99| 欧美亚洲丝袜| 女人黄色免费在线观看| 欧美网站大全在线观看| 亚洲熟女乱综合一区二区三区| 999久久久亚洲| 91av视频在线免费观看| 99久久国产热无码精品免费| 久久精品水蜜桃av综合天堂| 国产精品va在线观看无码| 国产成人a视频高清在线观看| 亚洲第一区在线| 国产一区二区三区在线视频观看| 日韩不卡一二三区| 久久精品久久精品国产大片| aaa大片在线观看| 欧美揉bbbbb揉bbbbb| 亚洲天堂久久新| 亚洲大片在线| 国产精品对白一区二区三区| 黄色视屏免费在线观看| 欧美图片一区二区三区| 国产精品毛片一区二区| 一本一道久久综合狠狠老精东影业| 亚洲综合色av| 欧美videos极品另类| 欧美亚洲愉拍一区二区| 午夜在线观看一区| 亚洲欧美日韩国产一区| 国产一区二区三区免费不卡| 国产白丝在线观看| 欧美成人一区二区| 疯狂试爱三2浴室激情视频| 久草精品在线观看| 致1999电视剧免费观看策驰影院| 国产综合色在线观看| 亚洲一区第一页| 黄色一级视频免费看| 久久久久久久久久电影| 国产美女三级视频| 免费毛片在线不卡| 国产精品国产三级国产专播精品人| 免费一级在线观看| 91成人国产精品| 国产性猛交xx乱| 免费欧美日韩国产三级电影| 亚洲成色www久久网站| www.成人在线视频| 久久精品91久久香蕉加勒比| 国产一区二区自拍视频| 亚洲精品一卡二卡| 韩国av中国字幕| 亚洲三级网站| 欧美二区三区| 欧美在线va视频| 色综合伊人色综合网| 国产日韩一级片| 一区二区三区免费在线观看| 国产免费无码一区二区| 国产日韩欧美一区| 欧美三级华人主播| 四虎地址8848精品| 欧美大尺度激情区在线播放| 刘亦菲久久免费一区二区| 狠狠躁18三区二区一区| 欧美激情久久久久久久| 国产在线不卡一区| 精品少妇人欧美激情在线观看| 日本一道高清一区二区三区| 国产精品7m视频| 182tv在线播放| 日韩经典一区二区三区| 中文在线字幕免费观| 亚洲欧美日韩电影| 蜜桃精品成人影片| 久久av资源网| 僵尸世界大战2 在线播放| 国产99久久精品一区二区300| 国产在线观看一区二区三区| 日本aa在线| 亚洲欧洲日产国码av系列天堂| 国产又黄又大又爽| 精品色蜜蜜精品视频在线观看| 中文字幕黄色网址| 成人综合激情网| 麻豆三级在线观看| 狠狠88综合久久久久综合网| 日韩国产在线一区| 亚洲免费一区三区| 国产精品wwwwww| 女人天堂av在线播放| 中文综合在线观看| 日韩欧美亚洲系列| 日韩一区二区影院| 中文区中文字幕免费看| 亚洲高清免费在线| 影音先锋男人资源在线观看| 久久综合久久99| 人妻激情偷乱视频一区二区三区| 日韩激情中文字幕| 成熟丰满熟妇高潮xxxxx视频| 视频在线不卡免费观看| 久久综合九色99| 中文字幕一区二区三区中文字幕| 国产精品永久免费视频| 天堂中文av在线资源库| 久久99久久99精品中文字幕| 在线播放麻豆| 国产亚洲一区二区精品| 亚洲色偷精品一区二区三区| 精品毛片乱码1区2区3区| 一级特黄色大片| 在线视频中文字幕一区二区| 日韩av一区二区在线播放| 亚洲人精品午夜| 激情五月激情综合| 欧美激情综合在线| 性色av蜜臀av色欲av| 成人三级伦理片| avtt中文字幕| 国产乱对白刺激视频不卡| 在线能看的av网站| 捆绑调教一区二区三区| 国产精品无码av无码| 国产日韩1区| 久久无码高潮喷水| 国产色综合网| 五十路熟女丰满大屁股| 亚洲一级电影| 黄色成人在线看| 99riav国产精品| 免费在线观看亚洲视频| 99热精品在线| 久草热视频在线观看| 国产日韩免费| 熟妇人妻va精品中文字幕| 久久一综合视频| 男操女免费网站| 美美哒免费高清在线观看视频一区二区| 国产极品美女高潮无套久久久| 亚洲欧美日韩综合国产aⅴ| 国产在线青青草| 久久久精品网| 香蕉视频禁止18| 看电视剧不卡顿的网站| 怡红院亚洲色图| 国产一区二区在线视频| 中文字幕一区二区三区人妻在线视频 | 在线观看av免费观看| 精品一区二区三区在线视频| 色男人天堂av| 不卡视频一二三四| 国产精品1000部啪视频| 国产日韩欧美一区二区三区综合 | 一级精品视频在线观看宜春院| 中文字幕手机在线观看| 亚洲福中文字幕伊人影院| 国产精品500部| 91官网在线观看| 91肉色超薄丝袜脚交一区二区| 欧美一区二区在线不卡| 亚洲精品无遮挡| 日韩高清免费观看| 国产精品毛片一区二区三区四区| 日韩亚洲精品电影| 青草在线视频在线观看| 45www国产精品网站| 国产精品原创视频| 亚洲一区二区三区久久| 精品人人人人| 视频一区在线免费观看| 欧美一区高清| 99福利在线观看| 精品在线视频一区| 日本三级日本三级日本三级极| 久久亚洲精精品中文字幕早川悠里| 午夜黄色福利视频| 亚洲精品国产成人久久av盗摄| 天天爽夜夜爽夜夜爽精品| 欧美日韩在线综合| 日本精品999| xxx成人少妇69| 日本免费一区二区六区| 成人乱色短篇合集| 亚洲欧洲色图| 麻豆映画在线观看| 三级在线观看一区二区| 日韩高清一二三区| 中日韩av电影| 国产精品黄色网| 欧美精品在线观看播放| 婷婷在线观看视频| 久久久91精品国产| 变态调教一区二区三区| 成人黄色片网站| 九九免费精品视频在线观看| 青青草综合在线| 美女视频网站黄色亚洲| 国产又粗又长又爽| 亚洲欧美日韩国产中文在线| 成人免费毛片视频| 亚洲成人精品久久| 在线视频自拍| 日本久久久久亚洲中字幕| 日韩精品成人在线观看| 亚洲高清视频一区二区| 美女精品在线观看| 四虎成人免费视频| 自拍偷拍国产亚洲| 波多野结衣在线观看一区| 精品视频在线播放免| 国产探花在线观看| 99精品国产一区二区| 天天做天天爱天天综合网2021| 国产日韩成人内射视频 | 69久久夜色精品国产69蝌蚪网| 国产日韩精品在线看| 欧美亚洲另类视频| 国产精品久av福利在线观看| 五月天在线免费视频| 久草精品在线观看| 亚洲精品天堂网| 欧美曰成人黄网| 国产黄色免费在线观看| 国产精品91久久久| 亚洲区小说区图片区qvod| 国产亚洲欧美在线视频| 99久久夜色精品国产网站| 国产精品2020| 亚洲国内精品视频| 2021中文字幕在线| 国产精品一区二区三区免费| 黄色av一区| 小毛片在线观看| 富二代精品短视频| 久久精品色图| 国产精品福利久久久| 成人嘿咻视频免费看| 国产成人精品无码播放| 国产欧美一区二区精品性色超碰| 欧美超碰在线观看| 怡红院精品视频| 久久久久久一区二区三区四区别墅| 亚洲欧洲精品一区二区| 麻豆精品视频在线观看免费| 日本少妇aaa| 欧美一二三区精品| av在线网页| 蜜桃麻豆www久久国产精品| 久久久精品日韩| 四季av中文字幕| 欧美一卡2卡三卡4卡5免费| 蜜桃传媒在线观看免费进入 | 欧美日韩中文| 一级少妇精品久久久久久久| 亚洲高清不卡在线观看| 日本福利片在线| 国产精品入口免费视| 一本一本久久a久久综合精品| 丰满人妻一区二区三区53视频| 亚洲影视资源网| 香蕉久久一区二区三区| 国产精品99一区| 亚洲乱码免费伦视频| 久久久无码人妻精品无码| 日韩欧美主播在线| 免费在线观看黄| 国产精品嫩草在线观看| 久久久亚洲人| 我要看黄色一级片| 欧美精品一区男女天堂| 精品视频在线一区二区在线| 四虎永久免费网站| 久久亚洲影视婷婷| 99视频免费看| 日本精品久久久久久久| 久久精品影视| 中文字幕在线观看的网站| 欧美日韩在线不卡| av资源在线| 在线看视频不卡| 91在线观看地址| 国产一区二区在线播放视频| 97视频在线观看视频免费视频| 成人久久久久| 精品国产一区在线| 欧美麻豆精品久久久久久| 高清视频在线观看三级| 一区二区国产日产| 91视视频在线观看入口直接观看www|