我想弹出我自己的对话框(在服务器上保存文件而不询问目标路径位置)而不是adobe的另存为对话框

时间:2009-04-29 05:04:52

标签: .net c++ c visual-c++

我们可以覆盖Adobe Photoshop的Save As对话框吗?我们如何覆盖?你的方法是什么?

实际上我想弹出我自己的对话框(在服务器上保存文件而不询问目标路径位置)而不是Adobe的Save As对话框。

4 个答案:

答案 0 :(得分:1)

不,你不能这样做。你为什么需要这个?如果您使用的是SDK,那么您应该可以使用“Action”对象将文件保存到任何您想要的位置。

答案 1 :(得分:1)

除非有适用于Photoshop的插件API,否则你必须在Photoshop进程中注入一些代码并将save作为函数挂钩。这不是一件容易的事。

答案 2 :(得分:1)

正如@Nick Whaley建议你可以勾选这个过程,但你不必疯狂寻找特定的窗口。你根本不需要这样做。您可以挂钩CreateFile API,在某处创建一个自定义Action,而不是进入Windows路径,该Action会尝试将文件保存在预定义的(可能是非常规的)位置。在您的钩子函数中,查找具有该文件的特殊路径/名称的CreateFile调用,并显示您自己的保存对话框。使用所需路径调用实际打开的文件,并返回PS的句柄。

你需要:    - MS Detours Express    - 大约2小时的时间

PS。将热键分配给自定义PS操作,并使用它来保存文件。

答案 3 :(得分:1)

<@> @Nick Whaley是对的。我不认为@UselessAdmin的方式是有效的,因为需求是弹出另一个“另存为”对话框,只有在用户选择文件夹并在文件夹对话框中单击OK后才调用CreateFile,显然挂起CreateFile为时已晚。