VB comprueba si existen varios archivos
1 Compruebe si estos archivos existen en un directorio específico.
2 Revisa todo el disco duro del ordenador para ver si existen estos archivos.
Si es la pregunta 1, hay una manera fácil. Utilice directamente el control filelistbox para llamarlo sin cambiar las propiedades
Escritura del programa
file1.path="c:\abc\"
El directorio se mostrarán todos los archivos en
Luego use un programa para determinar el orden, como
for i= 1 to File1.ListCount
If file1.list( i-1 )="1.jpg" significa que hemos encontrado uno
El siguiente i
Si es la pregunta 2, será aún más difícil
El código se cita del programa descargado del sitio web "Source Code Sky". El "Buscador de archivos" en el código fuente no puede pegar la imagen de la interfaz. Puede descargar el código fuente directamente.
dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Tipo privado BROWSEINFO 'Estructura del cuadro de diálogo de selección de directorio
hOwer As Long
pidlRoot mientras
pszDisplayName como cadena
lpszTitle como cadena
ulFlags mientras
lpfn mientras
lParam As Long
ilmage As Long
Tipo de fin
Private Const BIF_ RETURNONLYFSDIRS = & p>Lindex privado siempre
Pflag privado como booleano
'Utilice la siguiente declaración al mostrar el cuadro de diálogo de propiedades del archivo
Tipo privado SHELLEXECUTEINFO
cbSize tan largo
fMask tan largo
hwnd tan largo
lpVerb como cadena
lpFile AslpVerb como cadena
lpFile como cadena
lpParameters como cadena
lpDirectory como cadena
nShow As Long
hInstApp As Long
' Puede seleccionar campos
lpIDList mientras
lpClass como cadena
hkeyClass mientras
dwHotKey mientras p>
hIcon As Long
hProcess As Long
Tipo de fin
Const privada SEE_MASK_INVOKEIDLIST = &HC
Const privada SEE_MASK_NOCLOSEPROCESS = &H40
Const privado SEE_MASK_FLAG_NO_UI = &.H400
SEI privado como SHELLEXECUTEINFO
Función de declaración privada ShellExecuteEX Lib "Shell32.dll" Alias "ShellExecuteEx " (SEI como SHELLEXECUTEINFO) Siempre
'La siguiente es la declaración del uso de la API para buscar archivos
Función de declaración privada FindFirstFile Lib "kernel32" Alias "FindFirstFileA" ( ByVal lpFileName como cadena, lpFindFileData como WIN32_FIND_DATA) siempre y cuando
Función de declaración privada FindNextFile Lib "kernel32" Alias "FindNextFileA " (ByVal hFindF
ile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Función de declaración privada FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Función de declaración privada FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Const privada FILE_ATTRIBUTE_DIRECTORY = & H10
Const privada MAX_PATH = 260
Tipo privado FILETIME
dwLowDateTime Tan largo
dwHighDateTime Tan largo
Tipo final
Tipo privado Tipo WIN32_FIND_DATA
dwFileAttributes Tan largo
ftCreationTime Como FILETIME
ftLastAccessTime Como FILETIME
ftLastWriteTime Como FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 Tan largo
dwReserved1 Tan largo
cFileName As String* MAX_PATH
cAlternate As String * 14
Tipo de fin
Subcomando privado1_Click()
Dim bi como BROWSEINFO
Dim rtn como cadena, pidl como cadena, ruta como cadena
Dim pos As Long p>
bi.hOwer = Me.hwnd
bi.lpszTitle = "Seleccione directorio" 'Cuadro de diálogo Seleccionar directorio
bi.lpszTitle = "Seleccione directorio" ' Seleccione el cuadro de diálogo Directorio
bi.lpszTitle = "Seleccione DirectoryulFlags = BIF_RETURNONLYFSDIRS
pidl = SHBrowseForFolder( bi)
ruta = Espacio(512)
SHGetPathFromIDList pidl, ruta
pos = InStr(ruta, Chr(0))
rtn = Left(ruta, pos - 1)
If rtn = " " Luego salga de Sub
Text1.False
Screen.MousePointer = vbHourglass
StatusBar1.Panels(1).Text = "Por favor, espere... ."MousePointer = 0
StatusBar1.Panels(2
).Text = "*** tener" & ListView1.ListItems.Count & "archivos"
StatusBar1.Panels(1).Text = "Listo"
End Sub p>
Sub FindFile privado (sPath como cadena, sFile como cadena)
Atenuar xf como WIN32_FIND_DATA
Atenuar ff como WIN32_FIND_DATA
Atenuar ff como WIN32_FIND_DATA
Dim findhandle As Long
Dim lFindFile AsDim ff As WIN32_FIND_DATA
Dim findhand As Long
Dim lFindFile As Long
Dim Dstr As String
Dim fso como nuevo FileSystemObject
Dim f como archivo
Dim cPath como cadena
En caso de error, reanudar siguiente
cPath = IIf(Len(sPath) > 3, sPath & "\", sPath)
lFindFile = FindFirstFile(cPath & sFile, ff)
StatusBar1.Panel( 2). Text = "Buscando " & sPath
Si lFindFile > 0 Entonces
Hacer
Establecer f = fso.GetFile(cPath &. ff.cFileName)
ListView1.ListItems.Add lindex, , f.Name