我目前正在尝试使用mshtml.dll打印HTML文件。在我找到的html文件的注册表中查找以下打印条目:
"%systemroot%\system32\rundll32.exe"
"%systemroot%\system32\mshtml.dll",PrintHTML "%1" "%2" "%3" "%4"
出乎意料的是有一些参数传递给mshtml.dll,mshtml.dll的参数是什么(在此注册表信息中编号为%1,%2,%3,%4)?
答案 0 :(得分:4)
你在htmlfile progid的 printto 动词中找到了这个。从资源管理器中拖动HTML文件并将其放在打印机快捷方式上时会运行该文件。 printto动词有这些论点:
%1:HTML文件的路径
%2:打印机名称
%3:打印机驱动程序名称(可选)
%4:打印机端口名称(可选)
依赖于未记录的函数是不明智的,你不能依赖于这仍然适用于下一个Windows版本。使用WebBrowser.Print()是记录的方式。本机代码中的IWebBrowser2 :: ExecWB()。
答案 1 :(得分:0)
打印机的名称都不是强制性的,实际上在 htmlfile progid 的“打印”动词中,只为同一命令指定了一个参数。 顺便说一句:我试图用打印机的名称(带引号和不带引号)替换 %2 但它没有做任何不同的事情,也就是说,打印对话框仍然存在。 在 Windows 10 和 Windows 7 上试过。