首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用.html打印ShellExecuteExW文件?

如何使用.html打印ShellExecuteExW文件?
EN

Stack Overflow用户
提问于 2022-05-30 08:24:58
回答 1查看 111关注 0票数 1

目标是通过Windows ::ShellExecuteExW打印一个htm/html文件。

::ShellExecuteExW的参数如下

代码语言:javascript
运行
复制
shell_info.lpVerb = "open";
shell_info.lpFile = "C:\Windows\System32\rundll32.exe";
shell_info.lpParameters = "C:\Windows\System32\mshtml.dll ,PrintHTML "C:\Temp\test.html"";

lpFilelpParameters是从注册表项"\HKEY_CLASSES_ROOT\htmlfile\shell\print\command"获取的。

错误信息:

如果通过cmd运行C:\Windows\system32\rundll32.exe C:\Windows\system32\mshtml.dll ,PrintHTML "C:\Temp\test.html",一切都很好。将显示打印对话框。

如何调用::ShellExecuteExW以实现与cmd相同的行为?

EN

Stack Overflow用户

回答已采纳

发布于 2022-05-30 09:12:13

在屏幕截图中生成错误的代码是否可能与您在这里展示的不同?我这么问是因为你似乎逃不出任何双引号或反斜杠。在我看来,您的编译器在编译代码时至少应该给出一个错误。

然而,我只是尝试了下面的代码,这似乎是可行的。希望能帮上忙。

代码语言:javascript
运行
复制
int main()
{
    SHELLEXECUTEINFOW shell_info = { 0 };
    shell_info.cbSize = sizeof(SHELLEXECUTEINFOW);
    shell_info.lpVerb = L"open";
    shell_info.lpFile = L"C:\\Windows\\System32\\rundll32.exe";
    shell_info.lpParameters = L"C:\\Windows\\System32\\mshtml.dll ,PrintHTML \"C:\\Temp\\test.html\"";
    shell_info.nShow = SW_SHOWNORMAL;
    ShellExecuteExW(&shell_info);
    return 0;
}
票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72431265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档