【发布时间】:2010-11-14 11:02:31
【问题描述】:
我想修改一个 C 程序,使其创建的一些文件隐藏在 Windows 中。什么 Windows 或(甚至更好的)POSIX API 会设置隐藏文件属性?
【问题讨论】:
-
请记住 hidden 属性只是一个提示,实际上只有 DIR 和 Explorer 才会尊重...
标签: c++ c windows file filesystems
我想修改一个 C 程序,使其创建的一些文件隐藏在 Windows 中。什么 Windows 或(甚至更好的)POSIX API 会设置隐藏文件属性?
【问题讨论】:
标签: c++ c windows file filesystems
您可以通过调用 SetFileAttributes 并设置 FILE_ATTRIBUTE_HIDDEN 标志来实现。见http://msdn.microsoft.com/en-us/library/aa365535%28VS.85%29.aspx
虽然这不是 POSIX。要在 Linux 等普通 POSIX 系统下创建“隐藏”文件,只需以点 (.) 开头的文件名即可。
【讨论】:
Windows 和类 UNIX 系统对于隐藏文件到底是什么有不同的看法。在类 UNIX 上,通常以点开头的文件名被认为是“隐藏的”。另一方面,Windows 文件系统具有文件的“隐藏”属性。
因此,对于 POSIX,您可能应该只在文件名中使用起始点创建文件。
在 Windows 上,您可以使用 SetFileAttributes 函数。
【讨论】:
将CreateFile 与 FILE_ATTRIBUTE_HIDDEN 标志一起使用
【讨论】:
您正在寻找 Win32 API 中的 GetFileAttributesEx、GetFileAttributes 和 SetFileAttributes 方法集。
文档的起点
【讨论】: