首頁 > 後端開發 > C++ > 如何將文字檔案作為資源嵌入到本機 Windows 應用程式中?

如何將文字檔案作為資源嵌入到本機 Windows 應用程式中?

DDD
發布: 2024-11-17 20:15:02
原創
917 人瀏覽過

How can I embed text files as resources in native Windows applications?

將文字檔案作為資源嵌入本機Windows 應用程式

在本機Windows 程式設計中,可以將文字檔案作為資源嵌入到二進位檔案中,允許在應用程式內方便地存取和處理。這是透過創建用戶定義的資源來實現的。

要嵌入文字文件,請建立資源檔案(.rc) 並以下列格式新增項目:

nameID typeID filename
登入後複製

對於範例:

IDC_MYTEXTFILE TEXTFILE "mytextfile.txt"
登入後複製

其中:

  • IDC_MYTEXTFILE 是唯一的資源的16 位元識別碼
  • TEXTFILE 是使用者定義的資源類型(使用大於255 的數字)
  • 「mytextfile.txt」是「mytextfile.txt」是文字檔案的路徑

要在運行時載入和存取嵌入的文字檔案:

#include <windows.h>
#include <cstdio>
#include "resource.h"

void LoadFileInResource(int name, int type, DWORD& size, const char*& data)
{
    HMODULE handle = GetModuleHandle(NULL);
    HRSRC rc = FindResource(handle, MAKEINTRESOURCE(name), MAKEINTRESOURCE(type));
    HGLOBAL rcData = LoadResource(handle, rc);
    size = SizeofResource(handle, rc);
    data = static_cast<const char*>(LockResource(rcData));
}

int main()
{
    DWORD size = 0;
    const char* data = NULL;
    LoadFileInResource(IDC_MYTEXTFILE, TEXTFILE, size, data);

    char* buffer = new char[size+1];
    memcpy(buffer, data, size);
    buffer[size] = 0;
    printf("Contents of text file: %s\n", buffer);

    delete[] buffer;
    return 0;
}
登入後複製

請注意由於嵌入資料存在於可執行二進位檔案中,因此無法直接修改嵌入資料。若要修改資源,請使用 BeginUpdateResource()、UpdateResource() 和 EndUpdateResource() 函數。

以上是如何將文字檔案作為資源嵌入到本機 Windows 應用程式中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板