Maison >développement back-end >C++ >Comment intégrer des données de fichier texte dans une ressource d'application Windows en C ?

Comment intégrer des données de fichier texte dans une ressource d'application Windows en C ?

DDD
DDDoriginal
2024-11-24 12:05:11646parcourir

How do I embed text file data into a Windows application resource in C  ?

Intégration de données de fichier texte dans une ressource d'application Windows

Dans les applications Windows C, vous pouvez rencontrer des situations dans lesquelles vous souhaitez intégrer des données à partir d'un fichier texte directement dans la section des ressources de l'exécutable. Ce faisant, les données deviennent partie intégrante du binaire du programme, éliminant ainsi le besoin de chargement et d'analyse de fichiers externes.

Pour y parvenir, vous pouvez utiliser l'éditeur de ressources de Visual Studio ou définir manuellement la ressource dans une ressource. fichier de script. Voici les étapes à suivre pour intégrer un fichier texte en tant que ressource :

  1. Créer le fichier de ressources :

    • Créer une nouvelle ressource fichier de script (par exemple, resources.rc) dans le répertoire de votre projet.
    • Ajoutez une entrée au script de ressource en utilisant la syntaxe suivante :

      NameID TypeID Filename

    Où :

    • NameID est un entier unique de 16 bits identifiant la ressource.
    • TypeID est un entier unique de 16 bits identifiant le type de ressource. Vous pouvez définir ce type dans le fichier d'en-tête de ressource de votre projet (par exemple, ressource.h) à l'aide de macros.
    • Le nom de fichier est le chemin d'accès au fichier texte que vous souhaitez intégrer.

    Pour Par exemple, vous pouvez inclure l'entrée suivante :

    IDR_MYTEXTFILE TEXTFILE "data.txt"
  2. Compilez la ressource Fichier :

    • Dans Visual Studio, cliquez avec le bouton droit sur le fichier de script de ressource et sélectionnez « Compiler le fichier de ressources ». Cela générera un fichier de ressources compilé (.res) qui contient les données binaires de votre fichier texte.
  3. Chargement de la ressource intégrée :

    • Utilisez les fonctions FindResource et LoadResource pour récupérer un handle vers la ressource intégrée.
    • Verrouillez les données de la ressource à l'aide la fonction LockResource.
    • Accédez aux données binaires du fichier texte à l'aide du pointeur renvoyé.

Voici un exemple d'extrait de code :

HMODULE handle = GetModuleHandle(NULL);
HRSRC rc = FindResource(handle, MAKEINTRESOURCE(IDR_MYTEXTFILE), MAKEINTRESOURCE(TEXTFILE));
HGLOBAL rcData = LoadResource(handle, rc);
DWORD size = SizeofResource(handle, rc);
const char *data = (const char *)LockResource(rcData);

Notez que cette méthode ne permet pas de modifier directement les données intégrées au sein de l'exécutable. Si nécessaire, vous pouvez utiliser les fonctions BeginUpdateResource, UpdateResource et EndUpdateResource pour effectuer des mises à jour.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn