如何在FileOpen对话框中禁用Shell扩展

时间:2009-10-28 05:54:59

标签: shell-extensions

我在谈论Windows shell扩展。

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

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

感谢。

1 个答案:

答案 0 :(得分:2)

创建一个shim dll,除了加载你的真实(大)shell扩展dll之外什么都不做。 该shim dll的唯一工作是检查当前进程是否为“explorer.exe”。如果是,则填充加载真实的dll并转发所有呼叫。如果不是,则垫片不会加载您的真实dll,而只是将E_NOTIMPL或类似内容返回给所有请求。