Heim > Backend-Entwicklung > C++ > Wie kann ich Textdateien als Ressourcen in native Windows-Anwendungen einbetten?

Wie kann ich Textdateien als Ressourcen in native Windows-Anwendungen einbetten?

DDD
Freigeben: 2024-11-17 20:15:02
Original
917 Leute haben es durchsucht

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

Textdateien als Ressourcen in native Windows-Anwendungen einbetten

In der nativen Windows-Programmierung ist es möglich, Textdateien als Ressourcen in die Binärdatei einzubetten , was einen bequemen Zugriff und eine bequeme Handhabung innerhalb der Anwendung ermöglicht. Dies wird durch die Erstellung benutzerdefinierter Ressourcen erreicht.

Um eine Textdatei einzubetten, erstellen Sie eine Ressourcendatei (.rc) und fügen Sie Einträge im folgenden Format hinzu:

nameID typeID filename
Nach dem Login kopieren

Für Beispiel:

IDC_MYTEXTFILE TEXTFILE "mytextfile.txt"
Nach dem Login kopieren

wobei:

  • IDC_MYTEXTFILE ist eine eindeutige 16-Bit-Kennung für Ressource
  • TEXTFILE ist ein benutzerdefinierter Ressourcentyp (mit einer Zahl größer als 255)
  • „mytextfile.txt“ ist der Pfad zur Textdatei

So laden Sie die eingebettete Textdatei während der Laufzeit und greifen darauf zu:

#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;
}
Nach dem Login kopieren

Beachten Sie, dass die eingebetteten Daten aufgrund ihrer Anwesenheit nicht direkt geändert werden können innerhalb der ausführbaren Binärdatei. Um die Ressource zu ändern, verwenden Sie die Funktionen BeginUpdateResource(), UpdateResource() und EndUpdateResource().

Das obige ist der detaillierte Inhalt vonWie kann ich Textdateien als Ressourcen in native Windows-Anwendungen einbetten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage