"我的文档""My Documents"文件夹的文件属性是什么?不是FILE_ATTRIBUTE_DIRECTORY。在使用 FindFirstFile() 时,会返回WIN32_FIND_DATA结构,其中的dwFileAttributes是预定义的值:FILE_ATTRIBUTE_ARCHIVE,FILE_ATTRIBUTE_COMPRESSED,FILE_ATTRIBUTE_DIRECTORY,FILE_ATTRIBUTE_ENCRYPTED,FILE_ATTRIBUTE_HIDDEN,FILE_ATTRIBUTE_NORMAL等。
经测试 My Documents,收藏夹,SendTo 等文件夹的属性不是FILE_ATTRIBUTE_DIRECTORY???!!
它们的的属性是哪一个呢?????怎样才能找到dwFileAttributes预定义的值:FILE_ATTRIBUTE_ARCHIVE,FILE_ATTRIBUTE_COMPRESSED等在定义时所对应的值,也就是在哪里可以找到它们的定义源码???
经测试 My Documents,收藏夹,SendTo 等文件夹的属性不是FILE_ATTRIBUTE_DIRECTORY???!!
它们的的属性是哪一个呢?????怎样才能找到dwFileAttributes预定义的值:FILE_ATTRIBUTE_ARCHIVE,FILE_ATTRIBUTE_COMPRESSED等在定义时所对应的值,也就是在哪里可以找到它们的定义源码???
#define FILE_SHARE_READ 0x00000001
#define FILE_SHARE_WRITE 0x00000002
#define FILE_SHARE_DELETE 0x00000004
#define FILE_ATTRIBUTE_READONLY 0x00000001
#define FILE_ATTRIBUTE_HIDDEN 0x00000002
#define FILE_ATTRIBUTE_SYSTEM 0x00000004
#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
#define FILE_ATTRIBUTE_ENCRYPTED 0x00000040
#define FILE_ATTRIBUTE_NORMAL 0x00000080
#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
#define FILE_ATTRIBUTE_OFFLINE 0x00001000
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001
#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002
#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004
#define FILE_NOTIFY_CHANGE_SIZE 0x00000008
#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010
#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020
#define FILE_NOTIFY_CHANGE_CREATION 0x00000040
#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100
#define FILE_ACTION_ADDED 0x00000001
#define FILE_ACTION_REMOVED 0x00000002
#define FILE_ACTION_MODIFIED 0x00000003
#define FILE_ACTION_RENAMED_OLD_NAME 0x00000004
#define FILE_ACTION_RENAMED_NEW_NAME 0x00000005
#define MAILSLOT_NO_MESSAGE ((DWORD)-1)
#define MAILSLOT_WAIT_FOREVER ((DWORD)-1)
#define FILE_CASE_SENSITIVE_SEARCH 0x00000001
#define FILE_CASE_PRESERVED_NAMES 0x00000002
#define FILE_UNICODE_ON_DISK 0x00000004
#define FILE_PERSISTENT_ACLS 0x00000008
#define FILE_FILE_COMPRESSION 0x00000010
#define FILE_VOLUME_QUOTAS 0x00000020
#define FILE_SUPPORTS_SPARSE_FILES 0x00000040
#define FILE_SUPPORTS_REPARSE_POINTS 0x00000080
#define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100
#define FILE_VOLUME_IS_COMPRESSED 0x00008000
#define FILE_SUPPORTS_OBJECT_IDS 0x00010000
#define FILE_SUPPORTS_ENCRYPTION 0x00020000
WIN32_FIND_DATA fd;if (fd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) //不能这样
应该这样:
if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
请再帮忙解释一下 fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY 的含义?
怎么才能知道在win32中的哪些值需要用 & 运算呢?