我希望从资源管理器中隐藏文件夹。当有人取消选中在文件夹中显示隐藏文件选项时,它不应该是可见的。
是否有任何 Shell API 来实现这一点,或者我如何在 MFC 或 win api 或 C++ 等中实现?有什么想法和建议吗?
我希望从资源管理器中隐藏文件夹。当有人取消选中在文件夹中显示隐藏文件选项时,它不应该是可见的。
是否有任何 Shell API 来实现这一点,或者我如何在 MFC 或 win api 或 C++ 等中实现?有什么想法和建议吗?
不,不可能使用已记录或未记录的 Shell API。
使用带有标志的SetFileAttributesFILE_ATTRIBUTE_HIDDEN
。为确保您不会意外清除其他属性,您需要先使用GetFileAttributes读取目录属性。
例如:
void hidePath( const std::wstring& path )
{
const DWORD attributes = GetFileAttributes( path.c_str() );
SetFileAttributes( path.c_str(), attributes | FILE_ATTRIBUTE_HIDDEN );
}