3

我正在通过 C 使用 ShellExecute,除了一个问题外,这似乎工作正常。

ShellExecute(NULL, "print", "C:\\index.html", NULL, NULL, SW_HIDE);

有了这个,我想得到打印对话框,按 OK 开始打印,而不是打开 MS Word 并加载文件 C:\index.html。

如何使用 ShellExecute 获取 html 文件的打印功能?

如果需要注意,IE 不是我的默认互联网浏览器。

4

1 回答 1

6

您依靠 shell 的关联来打印文件,但这是一种非常脆弱的方法。如果您右键单击该文件并选择打印,您将观察到与调用ShellExecute.

因此,如果您想ShellExecutePrint动词一起使用,您将需要更改机器的配置。您需要确保将机器的关联配置为以适合您的方式处理 .html 文件上的Print动词。你可以为你的机器这样做,但你不能指望为其他人的机器这样做。

相反,您可以运行此命令以确保将打印 HTML 文件:

rundll32.exe %windir%\system32\mshtml.dll,PrintHTML "C:\index.html"

您可以轻松地将其转换为ShellExecute通话。

于 2013-05-17T08:56:57.583 回答