【问题标题】:Hide a file or directory using the Windows API from C使用 C 中的 Windows API 隐藏文件或目录
【发布时间】:2010-11-14 11:02:31
【问题描述】:

我想修改一个 C 程序,使其创建的一些文件隐藏在 Windows 中。什么 Windows 或(甚至更好的)POSIX API 会设置隐藏文件属性?

【问题讨论】:

  • 请记住 hidden 属性只是一个提示,实际上只有 DIR 和 Explorer 才会尊重...

标签: c++ c windows file filesystems


【解决方案1】:

您可以通过调用 SetFileAttributes 并设置 FILE_ATTRIBUTE_HIDDEN 标志来实现。见http://msdn.microsoft.com/en-us/library/aa365535%28VS.85%29.aspx

虽然这不是 POSIX。要在 Linux 等普通 POSIX 系统下创建“隐藏”文件,只需以点 (.) 开头的文件名即可。

【讨论】:

    【解决方案2】:

    Windows 和类 UNIX 系统对于隐藏文件到底是什么有不同的看法。在类 UNIX 上,通常以点开头的文件名被认为是“隐藏的”。另一方面,Windows 文件系统具有文件的“隐藏”属性。

    因此,对于 POSIX,您可能应该只在文件名中使用起始点创建文件。

    在 Windows 上,您可以使用 SetFileAttributes 函数。

    【讨论】:

      【解决方案3】:

      CreateFile 与 FILE_ATTRIBUTE_HIDDEN 标志一起使用

      【讨论】:

        【解决方案4】:

        您正在寻找 Win32 API 中的 GetFileAttributesEx、GetFileAttributes 和 SetFileAttributes 方法集。

        文档的起点

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-08-26
          • 1970-01-01
          • 2021-06-07
          • 2016-12-21
          • 1970-01-01
          • 2022-01-04
          • 2012-09-25
          相关资源
          最近更新 更多