用API函数 SHFileOperation的方法。
以下是使用SHFileOperation删除复制移动文件的例子,可以复制文件夹
Private Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As String '只有在 FOF_SIMPLEPROGRESS 时用
End Type
Private Declare Function SHFileOperation Lib _
"shell32.dll" Alias "SHFileOperationA" (lpFileOp _
As SHFILEOPSTRUCT) As Long
'wFunc 常数
'FO_COPY 把 pFrom 文件拷贝到 pTo。
Const FO_COPY = &H2
'FO_DELETE 删除 pFrom 中的文件(pTo 忽略)。
Const FO_DELETE = &H3
'FO_MOVE 把 pFrom 文件移动到 pTo。
Const FO_MOVE = &H1
'fFlag 常数
'FOF_ALLOWUNDO 允许 Undo 。
Const FOF_ALLOWUNDO = &H40
'FOF_NOCONFIRMATION 不显示系统确认对话框。
Const FOF_NOCONFIRMATION = &H10
'FOF_NOCONFIRMMKDIR 不提示是否新建目录。
Const FOF_NOCONFIRMMKDIR = &H200
'FOF_SILENT 不显示进度对话框
Const FOF_SILENT = &H4
Private Sub Command1_Click()
'例子:
Dim SHFileOp As SHFILEOPSTRUCT
' 拷贝
SHFileOp.wFunc = FO_COPY
SHFileOp.pFrom = "d:\MASM611"
SHFileOp.pTo = "c:\MASM611"
SHFileOp.fFlags = FOF_NOCONFIRMMKDIR
Call SHFileOperation(SHFileOp)
End Sub
或者用命令行
shell "cmd.exe /c xcopy "+chr(34)+"C:\新建文件夹 c:\aa /q /e" +chr(34)
如果你想使用这个已经编写好的程序EXE文件,要看这个EXE文件是不是一个独立功能的EXE比如:系统中的计数器软件,他的功能就是计算不需要其他的东西。如果你也是这样的话,你在编程中将代码写进按钮里或者什么触发文字里都可以使用。方法是:首先要知道这个文件在系统中的地址,如d:\管理\计数器.exe编程时在按钮里面添加:shell "d:\管理\计数器.exe ",1
这样vb就会按照这个地址找到相应的程序并打开。shell 为调用代码
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)