2017-11-23 11 views
0

私のexeファイルに埋め込まれたリソースからHTMLを読み込みたいとします。私はWindows 8.1でC++とCEF3を使用しています。CEF埋め込みリソースからHTMLをロード

私はthis articleを見てきましたが、これは私が探しているものと思われますが、CefSharpに関係しています。

C++でこれを行う方法はありますか?

また、HTMLファイルとCSSファイルを含むフォルダを埋め込み、CEFで読み込むことはできますか?

答えて

1

リソースにファイルを追加できます。メモ帳でプロジェクトの* .rcファイルを開きます。その後、ディスクにコピーするか、またはデータを直接開いて、あなたが任意の所定の値を使用することができます

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

、たとえば#define ID_STRING 1234

オープン実行時にリソース:次の行に* .rcファイルを追加します。このコードはファイルをディスクに保存してからファイルディスクを開こうとします。

#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_RCDATAで完璧だMAKEINTRESOURCE(10)

+0

ためのマクロです!!どうもありがとうございました!! – winapiwrapper

関連する問題