поиск скрытых файлов с помощью winapi - PullRequest
0 голосов
/ 02 июня 2010

HI я хочу искать скрытые файлы и каталоги по заданному пути, но я не знаю, как это сделать для скрытых файлов, я знаю, как искать нормальные файлы, и, конечно, я сделал этот код, но я застрял не могу сделать поиск только скрытых файлов

#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 ]

3 голосов
/ 02 июня 2010

Структура WIN32_FIND_DATA не сообщает FindFirstFile / FindNextFile, что искать; он возвращает результаты поиска. Вам нужно сделать битовую маску для члена dwFileAttributes, чтобы определить, является ли файл скрытым или нет.

if ((data.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) != 0)
0 голосов
/ 02 июня 2010

WIN32_FIND_DATA содержит атрибуты файлов member

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

dwFileAttributes

проверить это снова FILE_ATTRIBUTE_HIDDEN (избегать элементов FILE_ATTRIBUTE_DIRECTORY)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...