2

我目前正在尝试使用 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)?

4

2 回答 2

4

您在 htmlfile progid 的 printto 动词中发现了这一点。当您从资源管理器中拖动 HTML 文件并将其放在打印机快捷方式上时,它会运行。printto 动词有以下参数:

%1:HTML 文件的路径
%2:打印机名称
%3:打印机驱动程序名称(可选)
%4:打印机端口名称(可选)

依赖未记录的函数是不明智的,你不能依赖它在下一个 Windows 版本中仍然有效。使用 WebBrowser.Print() 是记录的方式。本机代码中的 IWebBrowser2::ExecWB()。

于 2013-11-14T15:59:27.980 回答
0

打印机的名称都不是强制性的,实际上在 htmlfile progid 的“打印”动词中,只为同一命令指定了一个参数。顺便说一句:我试图用打印机的名称(带和不带引号)替换 %2 但它没有做任何不同的事情,也就是说,打印对话框仍然存在。在 Windows 10 和 Windows 7 上试过。

于 2021-04-13T23:20:33.347 回答