【已解决】请高手帮着看看这段程序为什么总是说子脚本使用了非数组变量?
本帖最后由 森林清风 于 2013-4-24 15:03 编辑$result = DllCall("Reg.dll", "str","GetCPUID")
MsgBox(0," ",$result)
难道在使用$result这个变量的时候还要事先定义一下它的数组属性吗? 关键是要看看是不是调用有问题,没返回值的话肯定报错 Reg.dll 和你的脚本是否在同一目录下? 回复 3# 鸟人
你的意思是说有可能是我的电脑中没有reg.dll的文件造成的? 回复 2# netegg
大哥,你还是直说了吧,到底怎么写这段程序? 回复鸟人
你的意思是说有可能是我的电脑中没有reg.dll的文件造成的?
森林清风 发表于 2013-4-24 09:26 http://www.autoitx.com/images/common/back.gif
是的。。。。 回复 6# 鸟人[/i
我再问个问题,如果以后要把这个程序用到其它电脑上去,是不是也要将这个reg.dll文件也一同复制过去呢?这样是不是太不方便了呢?
$DllPath=@TempDir&'\Reg.dll'
FileInstall ("Reg.dll",$DllPath ,1) ;编译成EXE的时候要把Reg.dll放在本脚本的相同目录下
$result = DllCall($DllPath, "str","GetCPUID")
MsgBox(0," ",$result)
回复 8# 鸟人
你好,你的这段代码执行后还是原来的错误。然后我就又改了一下,如下所示:
;$DllPath=@TempDir&'\Reg.dll'
$DllPath="e:\20130424\reg.dll"
;FileInstall ("Reg.dll",$DllPath ,1) ;编译成EXE的时候要把Reg.dll放在本脚本的相同目录下
$result = DllCall($DllPath, "str","GetCPUID")
MsgBox(0," ",$result)
并且将这个代码所在的文件也放到了E:\20130424目录下,将reg.dll也放在同一个地方,结果还是原来的错误,不知是为什么? 换这个DLL吧,
硬盘型号、ID和CPU序列号获取 回复 10# 鸟人
你这个代码及提供的getinfo.dll经过测试,在改了路径后可以运行,但是很快就被杀软判定为木马隔离掉了,虽然可以在本机将这个文件设置为360或者其它杀软的信认,但是如果要拿到其它电脑上去运行还同样会被各种杀软报为木马,所以实用性不强,在此向你说明一下。对你的帮助我表示非常的感谢! 刚去 http://www.autoitx.com/forum.php?mod=viewthread&tid=3976&highlight=cpu下了那个Reg.dll
在XP SP3测试正常。请问你用的啥系统?或者去上面链接重下那个DLL 试试。 回复 12# 鸟人
我使用的是xp sp2 回复 12# 鸟人
我使用的是xp sp2
试过了,还是原来的问题。 回复 14# 森林清风
现在,我把那个REG.DLL加上路径就对了。非常感谢!
页:
[1]