gpt4 book ai didi

c++ - 如何防止 "How do you want to open this file"对话框?

转载 作者:行者123 更新时间:2023-11-30 03:36:47 30 4
gpt4 key购买 nike

在我的应用程序中,我使用 HTML 文件打开一个报告:

//pStrPath is file:///C:/Users/appts/AppData/Local/Temp/Report_View.htm
ShellExecute(hParentWnd, L"", pStrPath, NULL, NULL, SW_SHOW);

在我的开发机器上它在网络浏览器中打开,但是当我刚刚在新安装的 Windows 10 上测试它时,它显示的是这个对话框:

enter image description here

那么我怎样才能阻止它被显示并从一开始就选择“继续使用这个应用程序”选项呢?否则我的用户可能会感到很困惑。

附言。请注意,Edge 已安装并且可以打开 .htm 文件,如果我双击它们。

最佳答案

引用Launching Applications (ShellExecute, ShellExecuteEx, SHELLEXECUTEINFO)我们注意到文字


宾语动词

可用于对象的动词本质上是您在对象的快捷菜单上找到的项目。要查找可用的动词,请查看 HKEY_CLASSES_ROOT\CLSID{object_clsid}\Shell\verb

下的注册表

常用动词包括:

  • edit - 启动编辑器并打开文档进行编辑。
  • find - 从指定目录开始搜索。
  • 打开 - 启动应用程序。如果此文件不是可执行文件文件,启动其关联的应用程序。
  • print - 打印文档文件。
  • properties - 显示对象的属性。

鉴于双击是 the 通常等同于在对象的快捷菜单中选择“打开”,如果我们为函数提供 open 动词,我们可以期望该行为反射(reflect)用户双击的行为。 - 请在下方查看 Ken 的评论

因此,我们可以预期以下代码可以达到预期的结果。

//pStrPath is file:///C:/Users/appts/AppData/Local/Temp/Report_View.htm
ShellExecute(hParentWnd, L"open", pStrPath, NULL, NULL, SW_SHOW);

关于c++ - 如何防止 "How do you want to open this file"对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40499234/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com