Bagaimanakah saya boleh membenamkan fail teks sebagai sumber dalam aplikasi Windows asli?

DDD
Lepaskan: 2024-11-17 20:15:02
asal
861 orang telah melayarinya

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

Membenamkan Fail Teks sebagai Sumber dalam Aplikasi Windows Asli

Dalam pengaturcaraan Windows asli, adalah mungkin untuk membenamkan fail teks ke dalam binari sebagai sumber , membenarkan akses dan pengendalian yang mudah dalam aplikasi. Ini dicapai melalui penciptaan sumber yang ditentukan pengguna.

Untuk membenamkan fail teks, cipta fail sumber (.rc) dan tambah entri dalam format berikut:

nameID typeID filename
Salin selepas log masuk

Untuk contoh:

IDC_MYTEXTFILE TEXTFILE "mytextfile.txt"
Salin selepas log masuk

di mana:

  • IDC_MYTEXTFILE ialah pengecam 16-bit unik untuk sumber
  • TEXTFILE ialah jenis sumber yang ditentukan pengguna (menggunakan nombor lebih besar daripada 255)
  • "mytextfile.txt" ialah laluan ke fail teks

Untuk memuatkan dan mengakses fail teks terbenam semasa masa jalan:

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

Perhatikan bahawa data terbenam tidak boleh diubah suai secara langsung kerana kehadirannya dalam binari boleh laku. Untuk mengubah suai sumber, gunakan fungsi BeginUpdateResource(), UpdateResource() dan EndUpdateResource().

Atas ialah kandungan terperinci Bagaimanakah saya boleh membenamkan fail teks sebagai sumber dalam aplikasi Windows asli?. 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