首页
社区
课程
招聘
[求助]用RadAsm调用invoke ShellExecute编译不通过,显示undefined symbol
发表于: 2006-2-24 09:29 8051

[求助]用RadAsm调用invoke ShellExecute编译不通过,显示undefined symbol

2006-2-24 09:29
8051

.elseif eax == WM_LBUTTONDOWN
   .if        bInLink
        invoke ShellExecute, 0, 0, addr szUrl, 0, 0, 0
   .endif
.elseif 后面略

主要想实现鼠标单击打开szUrl网页,编译提示
error A2006: undefined symbol : ShellExecute

请问如何解决?


[招生]系统0day安全班,企业级设备固件漏洞挖掘,Linux平台漏洞挖掘!

收藏
免费 7
支持
分享
最新回复 (9)
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
2
include shell32.inc
2006-2-24 09:43
0
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
3
谢谢thebutterfly,
不过加上后,编译通过了,链接的时候提示
error LNK2001: unresolved external symbol _ShellExecuteA@24
2006-2-24 10:09
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4

include xxx.inc之后别忘了includelib xxx.lib
2006-2-24 10:19
0
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
5

俺是菜鸟,让您见笑了...
2006-2-24 10:20
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
6
楼主不用那样说啊, 我第一次写汇编程序的时候也犯过同样的错误
2006-2-24 10:23
0
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
7
嗯,努力学习ing
2006-2-24 10:26
0
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
8
还有个问题,如果再发现未定义符号的时候,我怎么才知道所使用的函数是在哪个INC文件中声明的呢?
2006-2-24 10:27
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
9
一般来说查查MSDN就知道了, 例如ShellExecute函数说明的最后有这样一段:
Function Information

Header shellapi.h
Import library shell32.lib
Minimum operating systems Windows NT 3.1, Windows 95

C语言的头文件和汇编不一样, 但是lib文件是相同的, 如果lib文件是xxxx.lib的话只要include xxxx.inc 和 includelib xxxx.lib就可以了
2006-2-24 10:35
0
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
10
哦,I SEE!
在VC中包括一个windows.h就可以使用所有API,我以为在ASM中也是这样呢~~

再次谢谢thebutterfly
2006-2-24 10:47
0
游客
登录 | 注册 方可回帖
返回
//