⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rk.txt

📁 一个局域网文件的传送
💻 TXT
字号:
Private Const BIF_RETURNONLYFSDIRS = 1 '从这里开始为API声明 
Private Const BIF_DONTGOBELOWDOMAIN = 2 
Private Const MAX_PATH = 260 

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 Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" _ 
(ByVal lpString1 As String, ByVal _ 
lpString2 As String) As Long 

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 
Dim a As New Shell 'Shell对象 

Private Sub Command1_Click() '源文件夹 
Dim lpIDList As Long 
Dim sBuffer As String 
Dim szTitle As String 
Dim tBrowseInfo As BrowseInfo 


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) 
Text1.Text = sBuffer 
End If 

End Sub 

Private Sub Command2_Click() '目标文件夹 
Dim lpIDList As Long 
Dim sBuffer As String 
Dim szTitle As String 
Dim tBrowseInfo As BrowseInfo 


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) 
Text2.Text = sBuffer 
End If 

End Sub 


Private Sub Command3_Click() 
If Text1.Text = "" Then 
MsgBox "请选择源文件夹", 48, "无文件路径" 
ElseIf Text2.Text = "" Then 
MsgBox "请选择目标文件夹", 48, "无文件路径" 
Else 

Timer1.Enabled = True 
Label3.Caption = "运行中……" 
End If 
End Sub 

Private Sub Command4_Click() 
Timer1.Enabled = False 
Label3.Caption = "中断" 
End Sub 

Private Sub Timer1_Timer() 


Dim limit_time As Data 
limit_data = CDate(Now - 1 / 288) '时间标记,大于这个时间的文件属于新文件 
Dim fso 
Set fso = CreateObject("Scripting.FileSystemObject") 
Dim fsobj 
Set fsobj = fso.GetFolder(Text1.Text) '目标文件夹 
Dim fsofolders 
Set fsofolders = fsobj.SubFolders 
Dim fsofile 
Set fsofile = fsobj.Files 
Dim i 
For Each i In fsofile 
If i.DateCreated > limit_data Then '如果文件的创建时间大于时间标记 
FileCopy Text1.Text + "\" + i.Name, Text2.Text + "\" + i.Name '复制文件 
End If 
Next 
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -