0

我正在尝试用我自己的自定义对话框替换所有 Windows 通用(打开/保存)文件对话框调用。从我目前阅读的内容来看,我可以通过自己编写或使用诸如 detours 或 easyhook 之类的库来对调用进行挂钩。但是最近有人告诉我,这种方法只能在Vista之前使用,因为会话架构发生了变化,在Win 7/8中不可能进行这种切换。现在,我不是一个喜欢“不可能”这个词的人:) 所以如果你对这件事有任何建议,任何建议,请告诉我,我会感谢你的好意。

对于我要做什么,我的应用程序将由用户运行,它将驻留在托盘中,当用户从任何应用程序调用打开/保存对话框时,它应该用自定义对话框替换默认的通用对话框。

4

1 回答 1

4

较新样式的Common Item 对话框是作为标准 COM 对象实现的,因此您可以只实现自己的 DLL,该 DLL 公开相同的 COM 接口(IFileOpenDialogIFileSaveDialog等),然后用您自己的覆盖注册表中的默认注册。这样,每个使用对话框的应用程序都将加载您的 DLL 而不是 Microsoft 的。

于 2013-07-30T19:20:00.283 回答