2010-06-01 45 views
0

嗨 我想搜索隐藏的文件和目录在specefic给定的路径,但我不知道如何做隐藏文件我知道如何搜索正常的文件和目录我这样做的代码,但即时通讯卡不能让它只搜索隐藏的文件使用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; 
} 

回答

3

的WIN32_FIND_DATA结构没有告诉用FindFirstFile/FindNextFile怎么寻找;它会返回搜索结果。您需要在dwFileAttributes成员上执行一次掩码以确定文件是否隐藏。

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