InternetFindNextFile得到的文件属性不正确解决思路

InternetFindNextFile得到的文件属性不正确
利用WiniNET的API函数,操作FTP。
下载某目录下所有文件时,使用InterFindNextFile遍历整个目录,其中Thumbs.db文件得到的文件属性不对,Win32_FInd_Data 结构体中fileattributes 是128,即标准文件,但是Thumbs.db是隐藏、系统的文件。
想通过属性判断,隐藏文件不下载的,这样就判断不了了。

希望有了解情况的,帮忙解答一下,谢谢
------解决方案--------------------
换种方式,如果隐藏文件下载不了,如果下载未出错,可以考虑判断返回值来处理

如果程序出错,可以考虑用try 试试



Try
   If ls_Array[2] = 'Hello' Then
      MessageBox("","2存在")
   End If 
Catch(RunTimeError e)
   MessageBox("","应该是越界了")
End Try
------解决方案--------------------
Thumbs.db 这个文件没有必要传呀

直接写成不处理的特例
if 文件名='Thumbs.db’ then
next
end if 
------解决方案--------------------
我现在没有PB在机上,只能盲猜,不能测试

readonly 是 1//低一位
hidden 是 2//低二位
system 是 4//低三位


if mod(fileattributes,4)/2 = 1 then
//这个是hidden
end if

if mod(fileattributes,8)/4 = 1 then
//这个是system
end if

盲打的,可能还要试一下。
------解决方案--------------------
引用:
Quote: 引用:

换种方式,如果隐藏文件下载不了,如果下载未出错,可以考虑判断返回值来处理

如果程序出错,可以考虑用try 试试



Try
   If ls_Array[2] = 'Hello' Then
      MessageBox("","2存在")
   End If 
Catch(RunTimeError e)
   MessageBox("","应该是越界了")
End Try

是的,下载出错,可能是隐藏、系统文件,不让覆盖的缘故吧,我按2楼的方法处理的,我比较疑惑的是API的返回值。


没找到个参考资料查一下,返回值代表什么意思?
------解决方案--------------------
引用:
Quote: 引用:

Thumbs.db 这个文件没有必要传呀

直接写成不处理的特例
if 文件名='Thumbs.db’ then
next
end if 

我就是这样处理的,但是总觉得别扭。


引用:
Quote: 引用:

Thumbs.db 这个文件没有必要传呀

直接写成不处理的特例
if 文件名='Thumbs.db’ then
next
end if 

我就是这样处理的,但是总觉得别扭。


相比较,我认为把这个 Thumbs.db 文件传出去更危险
貌似平时目录下没有这个文件,但是这个目录下有了图片,而且又打开过,就有可能莫名其妙的多出了这个文件 
------解决方案--------------------
返回值是128,那就真晕了