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

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

DDD
DDD原創
2024-12-12 19:26:14913瀏覽

How Can I Embed a Text File as a Resource in My Native Windows Application?

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

問題: 您尋求一種將文字檔案的內容嵌入到可執行二進位檔案中的方法,如下所示可在執行時間存取的資源。

解決方案:在本機 Windows 應用程式中利用自訂資源來實現此目的。

使用者定義的資源格式

MSDN 中定義的使用者定義資源的結構為:

nameID typeID filename

地點:

  • 地點:
  • 地點:
  • 地點:

地點:

IDR_MYTEXTFILE TEXTFILE "mytextfile.txt"
地點:

地點:

地點:

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

void LoadFileInResource(int name, int type, DWORD& size, const char*& data)
{
    // ... (Error checking omitted for clarity)
    HRSRC rc = ::FindResource(handle, MAKEINTRESOURCE(name),
        MAKEINTRESOURCE(type));
    HGLOBAL rcData = ::LoadResource(handle, rc);
    size = ::SizeofResource(handle, rc);
    data = static_cast<const char*>(::LockResource(rcData));
}

位置:nameID:唯一標識資源的16 位元無符號整數。

int main()
{
    DWORD size = 0;
    const char* data = NULL;
    LoadFileInResource(IDR_MYTEXTFILE, TEXTFILE, size, data);
    // ... (Use the data pointer to access the resource contents)
    return 0;
}

typeID: 大於 255 的唯一 16 位元無符號整數,標識資源型別。

    檔名:
  • 將嵌入二進位內容的檔案的路徑。
  • 嵌入文字檔案
透過將條目新增至資源檔案來嵌入文字檔案:確保資源ID(nameID 和typeID)和resource.h檔案一致。 加載Embedded文件包含必要的Windows標頭並定義加載資源的函數:使用示例:注意:修改資源資料需要使用BeginUpdateResource()、UpdateResource()和EndUpdateResource()。 程式退出時資源會自動刪除。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn