使用winapi搜索隐藏文件

时间:2010-06-01 22:03:05

标签: c++ winapi

HI 我想在一个specefic给定的路径中搜索隐藏的文件和目录,但我不知道如何为隐藏文件做它我知道如何搜索普通文件和dir我做了这个代码,但我卡住不能使它只搜索隐藏文件

#include "stdafx.h"
#include <windows.h>


int _tmain(int argc, _TCHAR* argv[])
{
    TCHAR *fn;
    fn=L"d:\\*";
    HANDLE f;

    WIN32_FIND_DATA data;
    {
        FILE_ATTRIBUTE_HIDDEN;
    }

    f=FindFirstFile(fn,&data);
    if(f==INVALID_HANDLE_VALUE){
        printf("not found\n");
        return 0;
    }
    else{

        _tprintf(L"found this file: %s\n",data.cFileName);
        while(FindNextFile(f,&data)){
            _tprintf(L"found this file: %s\n",data.cFileName);
        }
    }

    FindClose(f);
    return 0;
}

2 个答案:

答案 0 :(得分:3)

WIN32_FIND_DATA结构没有告诉FindFirstFile / FindNextFile要搜索的内容;它正在返回搜索结果。您需要在dwFileAttributes成员上执行一些掩码,以确定该文件是否被隐藏。

if ((data.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) != 0)

答案 1 :(得分:0)

WIN32_FIND_DATA保存文件属性成员

http://msdn.microsoft.com/en-us/library/aa365740(VS.85).aspx

dwFileAttributes

验证它是否反复FILE_ATTRIBUTE_HIDDEN(避免FILE_ATTRIBUTE_DIRECTORY项目)