【发布时间】:2020-06-20 02:41:13
【问题描述】:
我想知道如何隐藏文件,即使在资源管理器中打开了“显示隐藏文件”选项。 但仍然可以访问程序。一个完美的例子是 DOS 中的 AUTOEXEC.BAT。即使在资源管理器中启用了“显示隐藏文件”,它也不会显示,但您可以在 cmd 上看到它。那么我怎样才能像这样隐藏我的常规文件呢?还是仅适用于那些文件(AUTOEXEC.BAT、CONFIG.SYS 等)?
【问题讨论】:
我想知道如何隐藏文件,即使在资源管理器中打开了“显示隐藏文件”选项。 但仍然可以访问程序。一个完美的例子是 DOS 中的 AUTOEXEC.BAT。即使在资源管理器中启用了“显示隐藏文件”,它也不会显示,但您可以在 cmd 上看到它。那么我怎样才能像这样隐藏我的常规文件呢?还是仅适用于那些文件(AUTOEXEC.BAT、CONFIG.SYS 等)?
【问题讨论】:
在文件上设置隐藏属性和系统属性。从命令行:
attrib +h +s foo.txt
要在代码中执行此操作,请使用 SetFileAttributes API。阿拉:
DWORD dwAttrib = GetFileAttributesW(L"foo.txt");
if (dwAttrib != INVALID_FILE_ATTRIBUTES)
{
dwAttrib = dwAttrib | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM;
SetFileAttributesW(L"foo.txt", dwAttrib);
}
注意。这会隐藏文件,但坚定的黑客仍然可以通过在命令行输入“attrib”(不带参数)来查看该文件。
【讨论】: