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

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

2006-2-24 09:29
7597
.elseif eax == WM_LBUTTONDOWN
   .if        bInLink
        invoke ShellExecute, 0, 0, addr szUrl, 0, 0, 0
   .endif
.elseif 后面略

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

请问如何解决?

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

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

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

俺是菜鸟,让您见笑了...
雪    币: 291
活跃值: (208)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
thebutterfly 5 2006-2-24 10:23
6
0
楼主不用那样说啊, 我第一次写汇编程序的时候也犯过同样的错误
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
WAKU 7 2006-2-24 10:26
7
0
嗯,努力学习ing
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
WAKU 7 2006-2-24 10:27
8
0
还有个问题,如果再发现未定义符号的时候,我怎么才知道所使用的函数是在哪个INC文件中声明的呢?
雪    币: 291
活跃值: (208)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
thebutterfly 5 2006-2-24 10:35
9
0
一般来说查查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就可以了
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
WAKU 7 2006-2-24 10:47
10
0
哦,I SEE!
在VC中包括一个windows.h就可以使用所有API,我以为在ASM中也是这样呢~~

再次谢谢thebutterfly
游客
登录 | 注册 方可回帖
返回