![替换打开/保存对话框](https://linux22.com/image/1517682/%E6%9B%BF%E6%8D%A2%E6%89%93%E5%BC%80%2F%E4%BF%9D%E5%AD%98%E5%AF%B9%E8%AF%9D%E6%A1%86.png)
答案1
除非你进行了一些相当严重的黑客攻击,否则这是不可能的。要打开这些对话框,你需要调用 WinApi。你需要以某种方式替换 WinApi 组件才能做到这一点,因为此操作可能会引发所有问题。
所以总结一下,如果你想以可靠的方式做到这一点,这是不可能的。
答案2
我已经通过 Windows 7 中的 DLL 函数挂钩完成了自定义的“文件另存为”对话框。如果您使用 Google 搜索 apihijack_src.zip,它包含一个使用 MS Visual Studio 进行函数挂钩的很好的 C++ 演示。
通常你只需要拦截这些函数调用并创建自己的返回相应数据的对话框。除非目标应用程序禁用 DLL 函数挂钩。
COMDLG32.GetOpenFileNameW
COMDLG32.GetSaveFileNameW
不过,之前的回复是正确的。更改COMDLG32.DLL
以包含您的自定义GetSaveFileName
可能会很困难。