【问题标题】:How to use ShellExecute to open html files in Windows using C++?如何使用 ShellExecute 在 Windows 中使用 C++ 打开 html 文件?
【发布时间】:2012-05-24 12:50:46
【问题描述】:

我正在尝试使用我的代码中的默认浏览器打开一些 html 文件。

我使用以下代码:

ShellExecute(NULL, "open", "HELP\index.html",
            NULL, NULL, SW_SHOWNORMAL);

并包含标题“Windows.h”。但是 ShellExecuter:identifier not found 出现错误,编译失败。

我使用 Microsoft Visual Studio 2010。如何使 ShellExecute 工作,或者更重要的是,如何从我的代码中打开 html 文件?

【问题讨论】:

    标签: c++ windows visual-c++


    【解决方案1】:

    要使用 ShellExecute,您应该包含 Shellapi.h 并与 Shell32.lib 库链接

    【讨论】:

    • 谢谢!但我仍然遇到问题,因为“打开”并且引用中的链接给出了错误“无法将参数 2 从 'const char [5]' 转换为 'LPCWSTR'”。
    • 使用L"open" 指定宽字符串
    • 尝试执行类似的操作:ShellExecute(NULL, TEXT("open"), TEXT("HELP\index.html"), NULL, NULL, SW_SHOWNORMAL);
    【解决方案2】:

    我也遇到过类似的问题:

    在 WinXP 上

    ShellExecute( NULL, NULL, "HELP\index.html", NULL, NULL, NULL );
    

    还有

    ShellExecute( NULL, "call", "HELP\index.html", NULL, NULL, NULL );
    

    两者都可以正常工作。

    而仅在 Window-7 (starter) 上

    ShellExecute( NULL, "open", "HELP\index.html", NULL, NULL, NULL );
    

    是可能的。

    XP 似乎不知道“open”,而 Win-7 似乎不知道“call”。 我在所有建筑物中都使用了 MINGW。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-29
      • 2021-07-15
      相关资源
      最近更新 更多