gpt4 book ai didi

c++ - ShellExecute 没有打开 HTML 文件

转载 作者:行者123 更新时间:2023-11-28 07:11:26 25 4
gpt4 key购买 nike

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

以上是我的代码行,出于某种原因,我无法打开文件。以下是我尝试过的所有线路。

ShellExecute(NULL, TEXT("open"), TEXT("report/index.html"), NULL, NULL, SW_SHOWNORMAL);

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

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

下面是我包含的内容的列表。

// Windows Header Files:
#include <windows.h>

// C RunTime Header Files
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>

#include <Shellapi.h>

我的文件结构是这样的:

Downloads/test/program.exe
Downloads/test/report/index.html

这是第一次写这段代码,我真的不知道什么时候需要区分“/”和“\”。我相信我需要使用 TEXT(),因为当我转到我的 VS2010 项目时,属性 > 字符集显示:使用 Unicode 字符集。或者至少我相信我必须使用 TEXT(),我真的不确定。

我是否还需要提供文件的完整路径,而不是假设它是从我的 exe 所在的位置传输的?如果是这样,是否有一个快速简单的函数调用来获取完整的目录路径?它只是我缺少的包含文件吗?

最佳答案

如果传递的是硬编码路径,路径必须是 Windows 样式,带有反斜杠,当然反斜杠必须是两次才能转义。

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

如果您使用的不是完整路径,您当然必须确保该路径实际上可以从应用程序的当前工作目录访问。

关于c++ - ShellExecute 没有打开 HTML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20913750/

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