找回密码
 加入
搜索
查看: 2335|回复: 4

[AU3基础] 关于dll调用问题,请会调用dll的大神帮忙!!晕头

[复制链接]
发表于 2013-9-13 15:20:01 | 显示全部楼层 |阅读模式
现象:以下代码不知道为什么在winnt4.0下第一个msgbox没有错误,但是第二个msgbox会报@error错误,我猜想是因为调用wininet.dll文件时,各操作系统的wininet.dll会不一样,
问题,请教dll调用的大神教下,以下怎样修改,才能符合win4.0nt,我还有_ftpFilePut等函数需要修改,非常感谢啊。
$open=_FTPOpen("Mytest")
MsgBox(0,$open,@error)
$close=_FTPClose($open)
MsgBox(0,$close,@error)

Func _FTPClose($l_InternetSession)
        
        Local $ai_InternetCloseHandle = DllCall('wininet.dll', 'int', 'InternetCloseHandle', 'long', $l_InternetSession)
        If @error OR $ai_InternetCloseHandle[0] = 0 Then
                SetError(-1)
                Return 0
        EndIf
        
        Return $ai_InternetCloseHandle[0]
        
EndFunc ;==> _FTPClose()
Func _FTPOpen($s_Agent, $l_AccessType = 1, $s_ProxyName = '', $s_ProxyBypass = '', $l_Flags = 0)
        
        Local $ai_InternetOpen = DllCall('wininet.dll', 'long', 'InternetOpen', 'str', $s_Agent, 'long', $l_AccessType, 'str', $s_ProxyName, 'str', $s_ProxyBypass, 'long', $l_Flags)
        If @error OR $ai_InternetOpen[0] = 0 Then
                SetError(-1)
                Return 0
        EndIf
                
        Return $ai_InternetOpen[0]
        
EndFunc ;==> _FTPOpen()
发表于 2013-9-13 17:23:26 | 显示全部楼层
本帖最后由 Ycxw2008 于 2013-9-13 17:25 编辑

哪步错了?好像都没错?
我怎么运行10遍都没错
 楼主| 发表于 2013-9-16 08:56:20 | 显示全部楼层
回复 2# Ycxw2008

我的意思是以上代码不适合 windows NT 4.0 ,但是我不知道怎么修改 dllcall
发表于 2013-9-16 20:06:34 | 显示全部楼层
回复 3# leon460


    不好意思,没看清。
    不过我在MSDN查过你调的那2个函数了,好像都没问题
 楼主| 发表于 2013-9-17 10:03:32 | 显示全部楼层
回复 4# Ycxw2008

MSDN上的说明好像最低系统是window2000?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-10 02:06 , Processed in 0.086765 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表