代码之家  ›  专栏  ›  技术社区  ›  Baiyan Huang

如何在文件打开对话框中禁用外壳扩展

  •  2
  • Baiyan Huang  · 技术社区  · 15 年前

    我说的是Windows Shell扩展。

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

    那么,是否可以在fileopen对话框中禁用特定的shell扩展?

    谢谢。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Stefan    15 年前

    创建一个只加载实际(大)shell扩展dll的填充程序dll。 该填充程序dll的唯一任务是检查当前进程是否为“explorer.exe”。如果是,填充程序将加载实际的dll并转发所有调用。如果不是这样,填充程序不会加载真正的dll,而是简单地向所有请求返回e_NotImpl或类似的结果。

    推荐文章