我们需要能够更改给定打印机的默认选择打印托盘。有没有人有 VC++/win32 代码来做这件事?
万一这很重要,我相信我们必须更改打印机的默认设置。我们的打印作业由我们以外的应用程序执行,因此我们不能在源自我们应用程序内部的打印操作的上下文中进行这些类型的更改。除非有某种方法可以在不同的应用程序中修改默认打印设置,否则我认为我们无法更改用户对打印机的默认设置,启动我们的打印作业,然后将默认设置恢复为原始值。
我们真的更希望只为当前用户更改默认值,而不需要任何特殊的 UAC 提升等...
我怀疑它将使用类似于此 MSDN 文章中所示的内容,并涉及在 DEVMODE 结构中设置字段(dmDefaultSource 或 dmFormName 或两者)。
有接盘侠吗?或者有没有人有任何他们想分享的问题?
编辑:这是 DEVMODE 文档的链接DEVMODE 文档
编辑:我还应该指出,我们正在寻找一个通用的解决方案 - 不是特定于特定打印机的东西(我们部署在很多很多环境中)