使用 winapi 搜索隐藏文件

Kri*_*ian 2 c++ winapi

嗨,我想在特定给定路径中搜索隐藏文件和目录,但我不知道如何搜索隐藏文件,我确实知道如何搜索普通文件和目录,我执行了这段代码,但我卡住了不能让它只搜索隐藏文件

#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;
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*som 5

WIN32_FIND_DATA 结构并没有告诉 FindFirstFile/FindNextFile 要搜索什么;而是告诉 FindFirstFile/FindNextFile 要搜索什么。它正在返回搜索结果。您需要对 dwFileAttributes 成员执行位掩码以确定文件是否隐藏。

if ((data.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) != 0)
Run Code Online (Sandbox Code Playgroud)