再次请教"发呆呆"?
Private Type SHFILEOPSTRUCT
hWnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAborted As Boolean
hNameMaps As Long
sProgress As String
End Type
Private Const FO_DELETE = &H3
Private Const FO_COPY = &H2
Private Const FOF_ALLOWUNDO = &H40
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Private Sub Command1_Click()
Dim SHFileOp As SHFILEOPSTRUCT
With SHFileOp
'Delete the file
.wFunc = FO_COPY
'Select the file
.pFrom = Text1.Text
.pTo = Text2.Text
'Allow 'move to recycle bn'
.fFlags = FOF_ALLOWUNDO
End With
'perform file operation
SHFileOperation SHFileOp
采取这种方法会出现“确认文件替换”对话框,我想把这个对话框取消掉 怎么个取消法?
你一定记得这个问题吧,你告诉我加一个参数 Const FOF_NOCONFIRMATION = &H10 'NoConfirmDialog
对话框是没了!这非常感谢你,
但现在问题是:当目标文件夹的安全权限为“拒绝写入”时,它会弹出:
“无法复制....文件,拒绝访问,源文件可能正在被使用”这个对话框,而程序却继续运行而不产生错误,我想让它产生错误并结束程序的运行?请问我该怎么办?
问题点数:100、回复次数:5Top
1 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2002-03-26 10:40:37 得分 40
SHFileOperation函数有一个返回值,你可以通过返回值判断函数执行是否成功Top
2 楼sunshinecom21(用VB)回复于 2002-03-26 12:04:10 得分 0
谢谢Technofantasy!Top
3 楼joyplay(想吃老虎的小猪)回复于 2002-03-26 12:07:04 得分 10
vb中引用shell32.dll可以试用其封装的很多功能了,未必一定要找麻烦用API嘛。Top
4 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2002-03-26 12:54:43 得分 10
SHFileOperation 有很多好处,例如支持undo等。Top
5 楼sonicdater(事过境迁,除了技术,我什么都没有了)回复于 2002-03-26 16:41:46 得分 40
哦, 来晚了。 楼上说的是对的。
Const FOF_ALLOWUNDO = &H40
是 实现 UNDO 功能的。Top




