找不到DLL入口点 SHFileOperationA in shell32.dll?

ynduanlian 2004-04-16 10:20:03
我按网上的文章做删除文件到回收站的API调用,结果出现如题所示的错误,请问是怎么回事啊?
我的OS是Win2K?

Public 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 ' only used if FOF_SIMPLEPROGRESS
End Type

Public Const FOF_ALLOWUNDO = &H40
Public Const FO_DELETE = &H3

Public Declare Function SHFileOperation Lib "shell32.dll" Alias " SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

Private Sub Command1_Click()
Dim sf As SHFILEOPSTRUCT
With sf
.wFunc = FO_DELETE
.pFrom = File1.FileName
.fFlags = FOF_ALLOWUNDO
End With
SHFileOperation sf
End Sub

...全文
78 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ynduanlian 2004-04-16
  • 打赏
  • 举报
回复
但能讲讲为什么吗?
ynduanlian 2004-04-16
  • 打赏
  • 举报
回复
supergreenbean(超级绿豆) 说得对,感谢!
supergreenbean 2004-04-16
  • 打赏
  • 举报
回复
去掉别名 SHFileOperationA看看吧
weaest 2004-04-16
  • 打赏
  • 举报
回复
shell32.dll中没有SHFileOperation这个函数
cslf 2004-04-16
  • 打赏
  • 举报
回复
vb有问题?
把shell32.dll换成绝对路径看看
supergreenbean 2004-04-16
  • 打赏
  • 举报
回复
照理说应该不会出现这种情况,找不到 入口点 只能说明 别名写错 或者 dll中根本没有这个入口。
所幸shell32里SHFileOperation的入口有三个,一个 是SHFileOperationA,一个 是SHFileOperationW,还有一个是SHFileOperation.其中,SHFileOperation与SHFileOperationA指向的函数地址是一样的 ,所以……你运气好啦
maskzha 2004-04-16
  • 打赏
  • 举报
回复
关注

7,757

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧