Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Membenamkan Fail Teks sebagai Sumber dalam Aplikasi Windows Asli Saya?

Bagaimanakah Saya Boleh Membenamkan Fail Teks sebagai Sumber dalam Aplikasi Windows Asli Saya?

DDD
Lepaskan: 2024-12-12 19:26:14
asal
912 orang telah melayarinya

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

Benamkan Fail Teks sebagai Sumber dalam Aplikasi Windows Asli

Masalah: Anda mencari kaedah untuk membenamkan kandungan fail teks ke dalam binari boleh laku sebagai sumber, boleh diakses di masa jalan.

Penyelesaian: Gunakan sumber tersuai dalam aplikasi Windows asli anda untuk mencapainya.

Format Sumber Ditentukan Pengguna

Struktur a sumber yang ditentukan pengguna, ditakrifkan dalam MSDN, ialah:

nameID typeID filename
Salin selepas log masuk

Di mana:

  • nameID: integer tak bertanda 16-bit unik yang mengenal pasti sumber.
  • typeID : Integer tak bertanda 16-bit unik lebih besar daripada 255 yang mengenal pasti jenis sumber.
  • nama fail: Laluan ke fail yang kandungan binarinya akan dibenamkan.

Membenamkan Fail Teks

Benamkan teks fail dengan menambahkan entri pada fail sumber anda:

IDR_MYTEXTFILE TEXTFILE "mytextfile.txt"
Salin selepas log masuk

Pastikan bahawa sumber ID (nameID dan typeID) dan fail resource.h adalah konsisten.

Memuatkan Fail Terbenam

Sertakan pengepala Windows yang diperlukan dan tentukan fungsi untuk memuatkan sumber:

#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));
}
Salin selepas log masuk

Penggunaan Contoh:

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;
}
Salin selepas log masuk

Nota:

  • Mengubah suai data sumber memerlukan penggunaan BeginUpdateResource(), UpdateResource(), dan EndUpdateResource().
  • Sumber dipadamkan secara automatik apabila program keluar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membenamkan Fail Teks sebagai Sumber dalam Aplikasi Windows Asli Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan