Dodałem sobie do zasobów programu plik txt.
Plik rc wygladał tak :
- *rh
- Kod: Zaznacz cały
#ifndef ZASOBY_RH
#define ZASOBY_RH
#define ID1 1000
#endif
- *.rc
- Kod: Zaznacz cały
#include "zasoby.rh"
ID1 RCDATA "Plik1.txt"
Teraz za pomocą porady z serwisu Cyfrowy baron : http://cyfbar.republika.pl/api5.html#api2
Dostosowałem sobie funkcję do swoich potrzeb ( zmieniłem typ zasobu oraz nazwy plików ) :
- Kod: Zaznacz cały
void __fastcall TForm4::Button1Click(TObject *Sender)
{
TMemoryStream *memory = NULL;
String FileName = ExtractFilePath(ParamStr(0)) + "zasoby.exe"; // plik z zasobami
if(!FileExists(FileName))
{
ShowMessage("BŁĄD! NIe odnaleziono pliku");
return;
}
HANDLE hfile = BeginUpdateResource(FileName.t_str(), false);
if(hfile == NULL ) return;
memory = new TMemoryStream();
memory->LoadFromFile(ExtractFilePath(ParamStr(0)) + "Plik1.txt");
if(UpdateResource(hfile,"RT_RCDATA", "ID1",
MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),
memory->Memory, memory->Size))
{
EndUpdateResource(hfile, false);
}
if(memory != NULL) delete memory;
}
Wykonanie funkcji coś zmienia w zasoby.exe ale napewno nie zmienia mi pliku który dodałem wcześniej do zasobów ;\
Może mi ktoś powiedzieć co robię źle?
Pozdrawiam


