gpt4 book ai didi

windows - Microsoft Web 浏览器 ActiveX 控件 - 打印到指定(非默认)打印机

转载 作者:可可西里 更新时间:2023-11-01 10:26:34 25 4
gpt4 key购买 nike

我在 native C++/Win32/MFC 对话框应用程序中使用 MS Web 浏览器 ActiveX 控件通过 HTML 呈现一些信息。

我想在没有任何用户交互的情况下将内容打印到指定的打印机(这不是默认打印机)。我想使用的打印机是 PDF 打印机。

我正在使用 Code Project 中的一个很好的包装器类,它使 Web 浏览器控件的使用更容易一些 (http://www.codeproject.com/Articles/3919/Using-the-WebBrowser-control-simplified),并且包装器提供的功能之一是打印。它提供了一种使用 ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER,...) 来启动内容打印的打印方法。

这非常有效,无需任何用户交互即可将控件的内容打印到默认打印机。

接下来的挑战是让它使用与默认打印机不同的打印机。我最初的尝试是调用::SetDefaultPrinter ( http://msdn.microsoft.com/en-us/library/windows/desktop/dd162971(v=vs.85).aspx )。这似乎不起作用。看起来,尽管调用了::SetDefaultPrinter,Web 浏览器 ActiveX 控件仍然打印到系统默认打印机。就好像它忽略了这个调用所做的一切。

我尝试按照 MSDN 链接中的建议广播系统设置更改消息,并直接将其发送到浏览器窗口,但没有成功。

有什么想法可以让 Web 浏览器 ActiveX 控件打印我指定的打印机而不是使用默认打印机吗?

最佳答案

除您的所有步骤外,我在此处的 IE 注册表中设置了打印机:

HKCU\Software\Microsoft\Internet Explorer\PageSetup\printer="the required printer name"

并在打印后恢复一切

关于windows - Microsoft Web 浏览器 ActiveX 控件 - 打印到指定(非默认)打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15238431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com