关于dllcall函数的使用错误原因的请教
本帖最后由 starl 于 2009-4-23 09:52 编辑$num = DllCall("winmm.lib","int","waveInGetNumDevs")
MsgBox(64,"",$num)
MsgBox(64,"",$num)
waveInGetNumDevs这个API函数的作用是得到当前系统中录音设备的个数,没有参数!!
我运行脚本的时候,弹出提示框为0,应该是表明dllcall函数的返回是正确的,但是提示说API函数的返回值$num错误!!!
不知道什么原因!!望达人帮忙解答下,谢谢!!!:face (35): $a = DllCall("winmm.dll","int","waveInGetNumDevs")
应该是这样吧 :face (19):
在我的印象中 DLLCALL 后返回的好像是数组吧。。
返回$a 才是你想要的。我这里测试返回是 2 不知道啥意思
如果遇到迷糊的文件 建议你直接看看 @error 的值 就很容易判断了
[ 本帖最后由 rho123 于 2009-4-20 16:05 编辑 ] 原帖由 rho123 于 2009-4-20 16:01 发表 http://www.autoitx.com/images/common/back.gif
$a = DllCall("winmm.dll","int","waveInGetNumDevs")
应该是这样吧 :face (19):
在我的印象中 DLLCALL 后返回的好像是数组吧。。
返回$a 才是你想要的。我这里测试返回是 2 不知道啥意思
如果遇到 ...
谢谢rho123的解答,我去测试下先!
恩,是返回数组,返回2表明你的电脑里面有两个录音设备!
PS:这个$a是我们要调用的dll函数的返回结果,$a这个应该是作为dllcall这个函数操作成功与否的判断返回值吧!!!在有些时候测试需要用到,不知道理解的对不对!看文档的意思好像是这样!!! 原帖由 rho123 于 2009-4-20 16:01 发表 http://www.autoitx.com/images/common/back.gif
$a = DllCall("winmm.dll","int","waveInGetNumDevs")
应该是这样吧 :face (19):
在我的印象中 DLLCALL 后返回的好像是数组吧。。
返回$a 才是你想要的。我这里测试返回是 2 不知道啥意思
如果遇到 ...
rho123,你好!
winmm.lib这个库文件是在msdn里面指定的,为什么要改成winmm.dll这个??是AU3规定的用法吗??好像文档没规定。。。:face (9): ...改成winmm.dll就测试到了录音设备的个数!!!谢谢rho123的回答!! 可以结贴了,谢谢大家的指导!!!
页:
[1]