[在线等待]紧急:wininet.dll问题

Dublue 2004-01-01 02:21:52
我做了一个程序,有一项功能是在ftp上查找指定文件,我使用的是api函数进行操作。函数调用等肯定没问题,在很多机子上都正常安装,正常运行。但昨天在一个xp系统上安装时却出现了wininet.dll无法覆盖的问题?即使是断开所有网络连接,进入安全模式也无法覆盖!我把winined.dll拷贝到应用程序安装目录下运行程序时,发现调用FtpFindFirstFile函数时返回12003号错误。而在其他机子上从未出现此问题,一直运行良好???代码如下:
'取得目录下第一个文件
lFind = FtpFindFirstFile(mlConnection, sFilter, pData, 0, 0)
lLastError = Err.LastDllError
'Debug.Print lLastError
'如果没有文件,则返回空记录集
If lFind = 0 Then
'MsgBox lLastError
If lLastError = ERROR_NO_MORE_FILES Then
'空目录
Set GetDirectoryList = oRS
Exit Function
Else
On Error GoTo 0
Err.Raise lLastError, "cFTP::GetDirectoryList", "Error looking at directory " & Directory & "\" & FilterString
End If
Exit Function
End If
就是在第2行,Err.LastDllError返回的是12003,不知为何?
internet连接调用如下:
mlConnection = InternetConnect(mlINetHandle, msHostAddress, INTERNET_INVALID_PORT_NUMBER, _
msUser, msPassword, INTERNET_SERVICE_FTP, 0, 0)
...全文
101 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dublue 2004-01-10
  • 打赏
  • 举报
回复
已经解决,具体见:http://expert.csdn.net/Expert/TopicView1.asp?id=2636650
Dublue 2004-01-08
  • 打赏
  • 举报
回复
谢谢楼上的,看过了,解决不了我的问题。不知谁有可选端口地连接的ftp程序源码?能否给我一份?谢谢
LanceJin 2004-01-08
  • 打赏
  • 举报
回复
给你贴一个别人的,没试过,供你借鉴
http://vbnet.mvps.org/code/internet/ftplist.htm
summerhill 2004-01-07
  • 打赏
  • 举报
回复
替你顶一下~~~
Dublue 2004-01-06
  • 打赏
  • 举报
回复
最后up一次,不行就结帖吧
Dublue 2004-01-03
  • 打赏
  • 举报
回复
On Error GoTo 0
就算是处理吧-_-!
rainstormmaster 2004-01-01
  • 打赏
  • 举报
回复
顺便说一下,在程序中不进行错误处理,这不是好的习惯
rainstormmaster 2004-01-01
  • 打赏
  • 举报
回复
//我把winined.dll拷贝到应用程序安装目录下运行程序时,发现调用FtpFindFirstFile函数时返回12003号错误。而在其他机子上从未出现此问题,一直运行良好???

http://vbnet.mvps.org/index.html?code/internet/ftplist.htm
有一段代码,你参考一下
Dublue 2004-01-01
  • 打赏
  • 举报
回复
这样滴:在其它机器上安装都没问题(也是xp系统),即可以顺利覆盖,正常工作,唯一台机器不可。
ntfs系统如何替换?
3661512 2004-01-01
  • 打赏
  • 举报
回复
首先要确定在XP系统下,你替换了该文件,系统不会出问题,至于如何覆盖该文件,你可以用启动盘启动计算机到命令行模式下,然后再覆盖,安全模式并不带表该文件不被调用了,安全模式下依然使用的文件估计比较重要,所以一定要先确认覆盖不会出问题再行动
rainstormmaster 2004-01-01
  • 打赏
  • 举报
回复
呵呵,大家可能都在休假吧:)
首先,需要说明的是我这里没有装xp,不知道winined.dll在xp下覆盖后,系统能否正常工作。如果其它的机器上替换winined.dll后,确认系统没有问题的话,再替换吧。

//连如何替换wininet.dll都没人知道么
在其他操作系统下替换,如果只有一个xp系统的话,可在dos下替换(可用win98的启动盘),当然改完注册表后,直接替换也可

//如何查找一个dll文件有哪些程序在调用
打开HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Currentversion\SharedDlls子键,在右边的窗口中,每个值项的数据都说明了该值项的.dll文件有几个程序共享,如果数据为0,则可知道该文件没有程序共享,可以删掉了。


Dublue 2004-01-01
  • 打赏
  • 举报
回复
啊?连如何替换wininet.dll都没人知道么?如何查找一个dll文件有哪些程序在调用?

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧