使用winapi搜索隐藏文件
Posted
技术标签:
【中文标题】使用winapi搜索隐藏文件【英文标题】:searching for hidden files using winapi 【发布时间】:2010-06-01 22:03:04 【问题描述】:你好 我想在特定的给定路径中搜索隐藏文件和目录,但我不知道如何搜索隐藏文件我知道如何搜索普通文件和目录我做了这段代码但我卡住了无法制作它只搜索隐藏文件
#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;
【问题讨论】:
【参考方案1】:WIN32_FIND_DATA 结构没有告诉 FindFirstFile/FindNextFile 要搜索什么;它正在返回搜索结果。您需要对 dwFileAttributes 成员进行位掩码,以确定文件是否隐藏。
if ((data.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) != 0)
【讨论】:
【参考方案2】:WIN32_FIND_DATA 保存文件属性成员
http://msdn.microsoft.com/en-us/library/aa365740(VS.85).aspx
dwFileAttributes
根据 FILE_ATTRIBUTE_HIDDEN 验证它(避免使用 FILE_ATTRIBUTE_DIRECTORY 项)
【讨论】:
以上是关于使用winapi搜索隐藏文件的主要内容,如果未能解决你的问题,请参考以下文章