实时错误 '453' 找不到DLL入口点 ExtractAssociateIconA in shell32.dll

green_hong 2001-12-19 05:07:48
...全文
202 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ranma_True 2001-12-20
  • 打赏
  • 举报
回复
Private Declare Function ExtractAssociatedIcon Lib "shell32.dll" Alias "ExtractAssociateIconA" (ByVal hInst As Long, ByVal lpIconPath As String, lpiIcon As Long) As Long
green_hong 2001-12-20
  • 打赏
  • 举报
回复
感谢大家的热心帮助,ExtractAssociateIconA应为ExtractAssociatedIconA,少了一个“d”。
to ebombsuhocom(什么时代都有BUG);DeityFox(神狐):  怎么给分啊?在哪给?没看到相应的框和按钮。
TechnoFantasy 2001-12-19
  • 打赏
  • 举报
回复
拼写错了,应该是Alias "ExtractAssociatedIconA"
而不是 Alias "ExtractAssociateIconA"
green_hong 2001-12-19
  • 打赏
  • 举报
回复
to DeityFox(神狐):
我的代码可能就是今天上午抄你的吧?环境是WIN98(中文第一版)+VB6(中文企业版)
Declare Function ExtractAssociatedIcon Lib "shell32.dll" Alias "ExtractAssociateIconA" _
(ByVal hInst As Long, ByVal lpIconPath As String, lpiIcon As Long) As Long
Declare Function DrawIconEx Lib "user32" _
(ByVal hdc As Long, ByVal xLeft As Long, ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long, ByVal cyWidth As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, ByVal diFlags As Long) As Long

Function GetAppIcon(tmpPicture As PictureBox) As Long
Dim strFilePath As String * 256
Dim mIcon As Long
Dim lpiIcon As Long

strFilePath = "d:\myvbpgm\forfinancial\debit\debit.exe"
mIcon = ExtractAssociatedIcon(App.hInstance, strFilePath, 2)

If mIcon = 0 Then
MsgBox "no icon"
Exit Function
End If

DrawIconEx tmpPicture.hdc, 0, 0, mIcon, 0, 0, 0, 0, 0 `DI_NORMAL

tmpPicture.AutoRedraw = True

End Function
DeityFox 2001-12-19
  • 打赏
  • 举报
回复
以上代码在win2k+VB SP5下调试通过
DeityFox 2001-12-19
  • 打赏
  • 举报
回复

Const DI_MASK = &H1
Const DI_IMAGE = &H2
Const DI_NORMAL = DI_MASK Or DI_IMAGE
Private Declare Function ExtractAssociatedIcon Lib "shell32.dll" Alias "ExtractAssociatedIconA" (ByVal hInst As Long, ByVal lpIconPath As String, lpiIcon As Long) As Long
Private Declare Function DrawIconEx Lib "user32" (ByVal hdc As Long, ByVal xLeft As Long, ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long, ByVal cyWidth As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, ByVal diFlags As Long) As Long
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
Private Sub Form_Paint()
'KPD-Team 1999
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
Dim mIcon As Long
'Extract the associated icon
mIcon = ExtractAssociatedIcon(App.hInstance, "C:\Autoexec.bat", 2)
'Draw the icon on the form
DrawIconEx Me.hdc, 0, 0, mIcon, 0, 0, 0, 0, DI_NORMAL
'remove the icon from the memory
DestroyIcon mIcon
End Sub
ebombsuhocom 2001-12-19
  • 打赏
  • 举报
回复
关注,
着个问题我也遇到过,语句绝对正确,但就是出错
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias " Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
好象改为 shell_NotifyIconA lib "shell32"就可以了
我以前用这个函数也总是粗错,后来看了老外的一个例子,就是用的后者,就可以了

hdj0569 2001-12-19
  • 打赏
  • 举报
回复
贴出代码来!

偶看看。

7,763

社区成员

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

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