如何禁用给定文件路径的预览处理程序

本文关键字:处理 程序 路径 何禁用 文件 | 更新日期: 2023-09-27 18:04:18

我正在用c#编写一个应用程序,并考虑在Windows上使用PreviewHandler。我刚刚开始与Windows ExplorerPreview Handler工作,所以不知道该做什么,从哪里开始。坦率地说,我不知道它是如何工作的,所以任何指导都会很有帮助。

要求为给定的文件路径禁用文件'文件夹预览。假设我已经共享了一个文件路径C:'User'abcd'MyDocuments'Pictures,并且在这个文件夹中有10个文件,那么默认情况下Windows将显示这些文件的预览。我们的要求是禁用文件预览。

这能做到吗?如果有,有人能指导我如何实现吗?

对于给定的文件扩展名,我们可能想要禁用预览。像.png文件,但不适合.pdf文件

请指教。

[编辑]

让我重新表述一下我的问题。如何为预览窗格中的文件提供自定义预览?假设我想根据某些条件在预览窗格中显示图像文件,我能做到吗?我可以在我自己的代码中添加一些条件,以便在某些情况下显示预览吗?

谢谢Deb

如何禁用给定文件路径的预览处理程序

可以使用ShellExtensions更改所有文件的概述/缩略图。你可以用SharpShell (http://sharpshell.codeplex.com)

  • http://www.codeproject.com/Articles/533948/NET-Shell-Extensions-Shell-Preview-Handlers
  • http://www.codeproject.com/Articles/563114/NET-Shell-Extensions-Shell-Thumbnail-Handlers
在我看来,用正确的方法做这件事是不可能的。你可以为IThumbnailProvider实现IInitializeWithFile,并为给定路径之外的每个文件返回Thumbnail与ShellFile (http://blogs.msdn.com/b/windowssdk/archive/2009/06/12/windows-api-code-pack-for-microsoft-net-framework.aspx)。

但是看起来很棘手