gpt4 book ai didi

c++ - CEF 从嵌入式资源加载 HTML

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

我想从我的 exe 文件中嵌入的资源加载 HTML。我在 Windows 8.1 上使用 C++ 和 CEF3。

我看过 this article它似乎正是我要找的东西,但它与 CefSharp 有关。

有没有办法用 C++ 做到这一点?

另外,我可以嵌入一个包含 HTML 和 CSS 文件的文件夹并使用 CEF 加载它吗?

最佳答案

您可以将任何文件添加到资源中。用记事本打开项目的 *.rc 文件。将以下行添加到 *.rc 文件:

123 RCDATA "c:\\source-path\\source-file.htm"

您可以使用任何预定义的值,例如 #define ID_STRING 1234

在运行时打开资源,然后复制到磁盘或直接打开数据。此代码将尝试将文件保存到磁盘,然后打开文件磁盘。

#include <Windows.h>
#include <fstream>

void foo()
{
HRSRC hrsrc = FindResource(NULL, MAKEINTRESOURCE(123), RT_RCDATA);
if(!hrsrc)
{
MessageBoxW(0, L"resource `123 RCDATA` not found", 0, 0);
return;
}

HMODULE hmodule = 0;
HGLOBAL hglobal = LoadResource(hmodule, hrsrc);

void *data = LockResource(hglobal);
DWORD size = SizeofResource(hmodule, hrsrc);

const wchar_t* filename = L"c:\\temp\\testout.htm";
std::ofstream fout(filename, std::ios::binary);
if(!fout)
{
MessageBoxW(0, L"Cannot make temp file", 0, 0);
return;
}
fout.write((char*)data, size);
fout.close();

ShellExecuteW(0, NULL, filename, NULL, NULL, SW_SHOW);
}

RCDATA 是常量 10

RT_RCDATAMAKEINTRESOURCE(10)

的宏

关于c++ - CEF 从嵌入式资源加载 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47462861/

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