Mfc 从windows资源管理器中隐藏文件夹

Mfc 从windows资源管理器中隐藏文件夹,mfc,windows-shell,Mfc,Windows Shell,我想从资源管理器中隐藏文件夹。 当有人取消选中“在文件夹中显示隐藏文件”选项时,它不应可见 有没有shell API来实现这个,或者我是如何在MFC或Win API或C++中实现的?有什么想法和建议吗?与标志文件属性\u隐藏一起使用。为确保不会意外清除其他属性,您需要首先使用读取目录属性 例如: void hidePath( const std::wstring& path ) { const DWORD attributes = GetFileAttributes( path.

我想从资源管理器中隐藏文件夹。 当有人取消选中“在文件夹中显示隐藏文件”选项时,它不应可见

有没有shell API来实现这个,或者我是如何在MFC或Win API或C++中实现的?有什么想法和建议吗?

与标志
文件属性\u隐藏一起使用
。为确保不会意外清除其他属性,您需要首先使用读取目录属性

例如:

void hidePath( const std::wstring& path )
{
    const DWORD attributes = GetFileAttributes( path.c_str() );
    SetFileAttributes( path.c_str(), attributes | FILE_ATTRIBUTE_HIDDEN );
}

另请参见:

否,不可能使用有文档记录或无文档记录的Shell API。

与我尝试的BOOL createFolder12=CreateDirectory(temp,NULL)相同;SetFileAttributes(临时、文件属性隐藏);当用户单击窗口的“在文件夹中显示隐藏文件和文件夹”选项时,该选项将再次可见。您的问题是,如果未选中“显示隐藏文件”,则不希望该选项可见。你的意思是你不想在检查时看到它吗?索尼Rootkit做到了这一点,回到过去:)。那么如何才能做到这一点。从内核模式挂钩是最好的解决方案。很抱歉,从内核模式挂钩是什么,它是为它编写文件系统驱动程序。