查看: 4088|回复: 12
收起左侧

[已解决] 关于误判Key目录不存在问题的技术说明

[复制链接]
singlex
发表于 2008-12-14 18:44:19 | 显示全部楼层 |阅读模式
(1)0.576(包括更早版本),判断Key目录是否存在,使用的Windows API 函数为FindFirstFile(CFileFind),这个系统函数不存在分区格式问题,但是这个函数存在一个问题:无法判断根盘符,例如“C:\”这样的目录是存在的,但是这个函数会告诉你不存在,这个也是chaohua27提出来的问题。

(2)0.701改成使用Windows函数GetFileAttributes,判断其属性返回值是否为目录。这个函数可以判断根盘符,但是存在一个问题:对于FAT格式的分区可以准确判断,对于NTFS格式的分区,却可能出现不准确的情况。查了一下MSDN文档,微软也带了一句:This function retrieves a set of FAT-style attribute information。而偶自己用的就是FAT格式,所以没发现这个bug。

(3)0.702改成使用Windows的Shlwapi.dll中的PathFileExists函数,这个函数应该不存在上述的两个问题。

现在问题应该已经解决。希望对也需要判断目录是否存在的程序员有所帮助。

[ 本帖最后由 singlex 于 2008-12-14 18:53 编辑 ]
laolaoliu
发表于 2008-12-14 19:31:14 | 显示全部楼层
感谢说明, 哈, 看不懂.
浪滔天
发表于 2008-12-14 19:35:29 | 显示全部楼层
虽然不懂,但支持楼主精益求精的精神~
chaohua27
发表于 2008-12-14 19:40:30 | 显示全部楼层
感谢楼主一直在技术上的更新!
一刀大师
发表于 2008-12-14 19:56:03 | 显示全部楼层
楼主真的很牛!
yjy2999
发表于 2008-12-14 20:23:41 | 显示全部楼层
楼主精益求精啊,支持
yonggang
发表于 2008-12-14 21:02:28 | 显示全部楼层
偶的系统是NTFS格式,也没有问题。
jason_jiang
发表于 2008-12-14 21:10:35 | 显示全部楼层
HKEY_LOCAL_MACHINE\SOFTWARE\KasperskyLab\LicStorage
gaaralex
发表于 2008-12-15 08:51:29 | 显示全部楼层
  不懂,不过继续支持
穷开心
发表于 2008-12-17 20:04:25 | 显示全部楼层
楼主真的太牛了!支持

[ 本帖最后由 穷开心 于 2008-12-17 20:05 编辑 ]
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-14 02:41 , Processed in 0.134814 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

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