我想用我编写的对话框替换标准系统打开文件对话框,这意味着无论您在哪个程序中打开文件,都会显示我的对话框而不是标准对话框,这可能吗?
似乎没有提供这样的 API 来完成此操作,是否可以使用一些挂钩技术,但这必须可靠并且不会被防病毒工具视为间谍软件?
还有其他选择吗?
如果这是不可能的,是否可以在标准打开文件对话框中的空格键或工具栏上添加一个调用我的对话框的按钮,该按钮允许用户选择一个文件,然后将所选文件的路径返回到“文件名” " 标准对话框的输入框?
任何点击、链接和代码示例将不胜感激。
从 Vista 开始,FileOpen/FileSave 对话框现在为“通用项目对话框 http://msdn.microsoft.com/en-us/library/bb776913.aspx其中 IFileOpenDialog 和 IFileSaveDialog 是两个已发布的实现。
由于它们只是具有已知 CLSID 的 COM 对象,因此您可以通过使用其 CLSID 重新注册来替换它们。从来没有尝试过这样的事情,可能会敲响各种警钟。
Pre-Vista 文件对话框可以是挂在进程中 http://msdn.microsoft.com/en-us/library/ms646960(VS.85).aspx,但我从未遇到过有关全局挂钩或同等内容的任何内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)