我通过 C 使用 ShellExecute,除了一个问题之外,似乎工作正常。
ShellExecute(NULL, "print", "C:\\index.html", NULL, NULL, SW_HIDE);
有了这个,我想获得打印对话框,按“确定”开始打印,但不是 MS Word 打开并加载文件 C:\index.html。
如何使用 ShellExecute 获得 html 文件的打印功能?
需要注意的是,IE 不是我的默认互联网浏览器。
您依赖 shell 的关联来打印文件,但这是一种非常脆弱的方法。如果右键单击该文件并选择 Print,您将观察到与调用
ShellExecute
相同的行为。
因此,如果您想将
ShellExecute
与 Print 动词一起使用,您将需要更改机器的配置。您需要确保机器的关联配置为以适合您的方式处理 .html 文件上的 Print 动词。您可以为自己的机器执行此操作,但不能指望对其他人的机器执行此操作。
您可以运行此命令以确保打印 HTML 文件:
rundll32.exe %windir%\system32\mshtml.dll,PrintHTML "C:\index.html"
您可以轻松地将其转化为
ShellExecute
通话。
您可以尝试使用此代码:
set objShell = createobject("Shell.Application") objShell.ShellExecute "\folder\file.xxx", "", "", "print", 0 set objShell = nothing
就这样