如何控制Windows中打印机的打印机托盘选择
我们需要能够更改给定打印机的默认选定打印托盘.有没有人有VC / win32代码这样做?
如果重要,我相信我们必须更改打印机的默认设置.我们的打印作业由我们以外的应用程序执行,因此我们无法在源自应用程序内部的打印操作的上下文中进行这些更改.除非有某种方法可以修改不同应用程序中的默认打印设置,否则我认为我们无法更改用户的打印机默认设置,启动打印作业,然后将默认设置恢复为原始值. 我们真的更喜欢只为当前用户更改默认值,而不需要任何特殊的UAC提升等… 我怀疑它将使用类似于this MSDN article中显示的内容,并涉及在DEVMODE结构中设置字段(dmDefaultSource或dmFormName或两者). 任何接受者?或者有没有人有任何他们想分享的陷阱? 编辑:这是DEVMODE文档DEVMODE documentation的链接 编辑:我还应该指出,我们正在寻找一个通用的解决方案 – 不是特定于特定打印机的东西(我们在很多很多环境中部署)
仅供参考 – 我们使用的解决方案是捕获DEVMODE结构.我们有一个小的win32应用程序,它显示打印机设置对话框(通过
DocumentProperties,fMode设置为DM_IN_PROMPT).然后将生成的DEVMODE保存到磁盘.当我们进行打印时,我们捕获当前的DEVMODE,设置存储的DEVMODE,启动打印,然后恢复原始的DEVMODE.
这实际上很有效.有时,打印驱动程序会更新并导致存储的DEVMODE中断,但这种情况不会经常发生,并且用户可以轻松修复. 作为额外的奖励,这种方法允许我们捕获所有打印机设置(而不仅仅是输出托盘) – 因此我们能够支持高级设置,如装订,整理等… 提示:如果尝试此操作,请确保将磁盘写入二进制输出流.在我对这种方法的初步评估中,我不小心将输出流设置为文本输出流.在许多情况下,情况会正常,然后突然中断一些打印机(在DEVMODE私有数据中使用高位字节).这是一个愚蠢而又容易犯的错误 – 而且还有一段很好的解决方案. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- batch-file – 检查DOS批处理文件中的参数
- 命令行 – 从命令行修剪文本文件(Windows)
- Window NodeJs安装
- active-directory – 如何让非管理员管理所选域组的成员资格
- windows-server-2008 – netsh.exe:错误87
- 为什么Windows 7/2008 mstsc在服务器证书警告之前要求输入用
- active-directory – Windows AD和Linux LDAP服务器之间的统
- Windows上的Helios Eclipse java调试器很难突出显示源代码
- [硬件]发现内存设置为cmd2t体验更好
- windows – 如何在ADUC和GPMC之间链接GP对象和AD对象?
- Windows – 使用WiX创建IIS虚拟目录
- New-Object上的Windows RT Powershell(Permissio
- windows-server-2008 – 是否可以在Apple Xserve
- windows-server-2012-r2 – 存储空间 – 为什么要
- Windows服务 – 启动Windows服务失败,错误1053
- active-directory – 分支机构的最佳选择 – Act
- Windows – Tomcat 7的service.bat文件丢失
- 来自DOS或Windows的MongoDB命令
- Windows服务 – Windows服务或计划任务,我们喜欢
- Windows Server 2008 服务器重启后卡死在Windows