Private Sub Command9_Click()
Dim lpIDList As Long
Dim sBuffer As String
Dim szTitle As String
Dim tBrowseInfo As BrowseInfo
Dim FileName As String, mypath As String
szTitle = App.Path
With tBrowseInfo
.hWndOwner = Me.hWnd
.lpszTitle = lstrcat(szTitle, "")
.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
If Dir(sBuffer) = "" Then
FileName = Dir(sBuffer & "\*.jpg")
Do
List2.AddItem FileName
FileName = Dir
Loop Until FileName = ""
Else
End If
End If
End Sub
uj5u.com熱心網友回復:
僅供參考:Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Const SYNCHRONIZE = &H100000
Private Const INFINITE = &HFFFFFFFF
Private Sub ShellWait(cmd As String)
Dim pId As Long, pHnd As Long, r As Long
Form1.Refresh
pId = Shell(cmd, vbHide)
pHnd = OpenProcess(SYNCHRONIZE, 0, pId)
If pHnd <> 0 Then
Do
r = WaitForSingleObject(pHnd, 1000) '等1秒
DoEvents
Loop While r <> 0 And terminateFlag = False
Call CloseHandle(pHnd)
End If
End Sub
ShellWait "cmd.exe /c dir /b /a-d /o-d d:\mydir\*.jpg >d:\jpgfiles.txt"
'讀檔案d:\jpgfiles.txt的內容
uj5u.com熱心網友回復:
邏輯有問題。
If Dir(sBuffer) = "" Then
FileName = Dir(sBuffer & "\*.jpg")
Do
. . . . . .
當“If Dir(sBuffer) = "" Then”這句的條件“成立”時,那么說明“選擇的目錄”無效、不可訪問等,
那又怎么能去執行 FileName = Dir(sBuffer & "\*.jpg") 等操作?
uj5u.com熱心網友回復:
If Dir(sBuffer) > "" Then轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/59458.html
標籤:API
上一篇:VB6.0 資料庫 編程 BOF、EOF不起作用是為什么?
下一篇:求助大神 離散數學實驗
