Problem: Sie suchen nach einer Methode, um den Inhalt einer Textdatei in eine ausführbare Binärdatei einzubetten eine Ressource, auf die zur Laufzeit zugegriffen werden kann.
Lösung: Nutzen Sie eine benutzerdefinierte Ressource in Ihrem native Windows-Anwendung, um dies zu erreichen.
Die Struktur einer benutzerdefinierten Ressource, definiert in MSDN, ist:
nameID typeID filename
Wobei:
Betten Sie die Textdatei ein, indem Sie Ihrer Ressourcendatei einen Eintrag hinzufügen:
IDR_MYTEXTFILE TEXTFILE "mytextfile.txt"
Stellen Sie sicher, dass die Ressourcen-IDs (nameID und typeID ) und die Datei „resource.h“ sind konsistent.
Einschließen die erforderlichen Windows-Header und definieren Sie eine Funktion zum Laden der Ressource:
#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)); }
Verwendungsbeispiel:
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; }
Hinweis:
Das obige ist der detaillierte Inhalt vonWie kann ich eine Textdatei als Ressource in meine native Windows-Anwendung einbetten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!