ShellExecute, “Print”

后端 未结 1 498
轻奢々
轻奢々 2021-01-20 21:27

I am using ShellExecute through C and that seem\'s work OK except one issue.

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


        
1条回答
  •  -上瘾入骨i
    2021-01-20 21:37

    You are relying on the shell's associations to print the file, but that's a terribly brittle approach. If you right click on the file and select Print you'll observe the same behaviour as your call to ShellExecute.

    So, if you want to use ShellExecute with the Print verb you will need to change your machine's configuration. You need to make sure that the machine's associations are configured to handle the Print verb on a .html file in a way that suits you. You could do that for your machine but you cannot expect to do it for other people's machines.

    Instead you could run this command to be sure that the HTML file will be printed:

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

    You can translate that readily into a ShellExecute call.

    0 讨论(0)
提交回复
热议问题