【发布时间】:2023-03-27 00:08:01
【问题描述】:
我们需要能够更改给定打印机的默认选择打印托盘。有没有人有 VC++/win32 代码来做这个?
如果这很重要,我相信我们必须更改打印机的默认设置。我们的打印作业由我们以外的应用程序执行,因此我们不能在源自我们应用程序内部的打印操作的上下文中进行此类更改。除非有某种方法可以在不同的应用程序中修改默认打印设置,否则我认为我们无法更改用户对打印机的默认设置,启动我们的打印作业,然后将默认设置恢复为原始值。
我们真的希望只为当前用户更改默认值,而不需要任何特殊的 UAC 提升等...
我怀疑它会使用类似于this MSDN article 中显示的内容,并涉及在 DEVMODE 结构中设置字段(dmDefaultSource 或 dmFormName 或两者)。
有接受者吗?或者有没有人想分享任何问题?
编辑:这是 DEVMODE 文档的链接DEVMODE documentation
编辑:我还应该指出,我们正在寻找一种通用的解决方案——而不是特定于特定打印机的解决方案(我们部署在很多很多环境中)
【问题讨论】:
标签: windows visual-c++ printing