windows - 在 Windows C/C++ 中检查文件夹/文件是否被隐藏/系统

标签 windows winapi file-attributes

我正在使用 C++/STL/Boost 编写一个跨平台应用程序,我意识到它们没有提供一种方法来检查文件夹或文件是否被隐藏或者是 Windows 中的系统文件。

在 C/C++ for Windows 中执行此操作的最简单方法是什么?

理想情况下,我有一个带有路径(文件或文件夹)的 std::string,如果它是隐藏的或系统文件,则会返回。最好它适用于所有 Windows 版本。我也在使用 MinGW g++ 进行编译。

最佳答案

GetFileAttributes将为此工作。

它采用文件或目录的路径作为参数,并返回一组标志,包括 FILE_ATTRIBUTE_HIDDEN 和 FILE_ATTRIBUTE_SYSTEM。

DWORD attributes = GetFileAttributes(path);
if (attributes & FILE_ATTRIBUTE_HIDDEN) ...

if (attributes & FILE_ATTRIBUTE_SYSTEM) ...

关于windows - 在 Windows C/C++ 中检查文件夹/文件是否被隐藏/系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1343635/

相关文章:

php - HDD 上的旧 PHP session 文件

c++ - 最小化后窗口不显示(最大化)

winapi - 用于开箱即用 GUI 桌面应用程序编程的高级语言

c# - LINQ 查询中无法访问的表达式代码

c# - 应用文件夹图标更改

php - PHP Intranet 可以共享 Windows 登录名吗?

windows - 如何在安装了 Windows 8 基本版的情况下运行 Windows Phone 8 模拟器?

php - 如何将版权和作者信息添加到用 PHP 创建的图像中?

windows - 从非特权用户命令行查找Windows版本

c++ - GDI 对象 HBRUSH 半透明