ShellExecute,“打印”

时间:2013-05-17 08:39:38

标签: winapi

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

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

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

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

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

1 个答案:

答案 0 :(得分:5)

您依靠shell的关联来打印文件,但这是一种非常脆弱的方法。如果您右键点击该文件并选择打印,则会发现与您对ShellExecute的通话相同的行为。

因此,如果您想将ShellExecute打印动词一起使用,则需要更改机器的配置。您需要确保将计算机的关联配置为以适合您的方式处理.html文件上的打印动词。您可以为您的机器执行此操作,但您不能指望为其他人的机器执行此操作。

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

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

您可以将其轻松转换为ShellExecute来电。