【问题标题】:How To Disable Shell Extension In FileOpen Dialog如何在 FileOpen 对话框中禁用 Shell 扩展
【发布时间】:2010-12-10 18:16:39
【问题描述】:

我说的是 Windows shell 扩展。

我有一个 shell 扩展,它可以显示我的自定义文件类型的特定属性,比如 *.filetype。当然,它会导致我的 shell 扩展 dll 被加载到 explorer.exe 进程中。但是现在如果我在任何应用程序中触发 FileOpen 对话框并检查该对话框中的文件属性(例如记事本),那么这些 shell 扩展 dll 将被加载到 notepad.exe 进程中,这是我想要避免的情况。

那么是否可以在 FileOpen Dialog 中禁用特定的 shell 扩展?

谢谢。

【问题讨论】:

    标签: shell-extensions


    【解决方案1】:

    创建一个 shim dll,它只会加载您的真实(大)shell 扩展 dll。 该 shim dll 的唯一工作是检查当前进程是否为“explorer.exe”。如果是,则 shim 加载真正的 dll 并将所有调用转发到那里。如果不是,则 shim 不会加载您的真实 dll,而只是将 E_NOTIMPL 或类似的东西返回给所有请求。

    【讨论】:

    • 但是我们需要为我们想要的每个 shell 扩展做这样的事情。
    猜你喜欢
    • 2013-01-29
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多