Ir ao conteúdo

C/C++ Como usar RCDATA Para extrair arquivos no hd?


DAVIFN

Posts recomendados

Postado

Pessoal, eu to querendo saber como eu faço para extrair arquivos em C++

TIPO : Eu tenho um .rc que tem:

Alguma coisa BINARY/FILE "LOCAL DO ARQUIVO.exe"

dai beleza... como eu faço no arquivo .cpp para ele localizar esse LOCAL DO ARQUIVO.exe que está dentro do executável, e criar ele em um local no HD da pessoa.

Observações: Uso Dev C++ 4992.

Já agradeço antes.

DAVIFN

Nenhuma resposta ainda? Vem rápido em resposta! to esperando!

Alguem aparece ai por favor to loco pra sabe como faze isso...

  • 2 semanas depois...
Postado

Aí pessoallllll Finalmente consegui! Não precisam mais responder!

Era só adicionar uma linha no .rc com:


1 RCDATA
{
"a"
}

E no .cpp botar:

HRSRC hrsrc;
HGLOBAL hMem;
void *pMem;
DWORD size;
char *Um="Oarquivoqueserácriado.exe";
hrsrc=FindResource(0,MAKEINTRESOURCE(1),RT_RCDATA);
hMem=LoadResource(0,hrsrc);
pMem=LockResource(hMem);
size=SizeofResource(0,hrsrc);
FILE *UmFILE=fopen(Um,"wb");
fwrite(pMem,size,1,UmFILE);
fclose(UmFILE);

Com as bibliotecas windows.h e stdio.h

LEMBRANDO : MAIS IMPORTANTE:

A função RCDATA vem vazia com A, por isto vamos ter que baixar um programa chamado resource hacker.

Após baixá-lo, instale-o e abra.

Selecione seu .exe já compilado e procure nas pastas por algo como

RCDATA > 1 > 1033

Exclua este 1033. Note que a pasta "RCDATA" some.

Depois vá em uma das abas esqueci qual, Add new resource.

Selecione o arquivo .exe que seu programa deverá criar.

Vai pedir o nome do resource (recurso)

Bote no nome : RCDATA

Embaixo pede outra, bote 1

E, finalmente, no último bote 1033! Para o programa poder achar.

Agora, salve e note que onde está seu programa .exe vai estar o nome dele_original e o modificado, que, agora, se você executar, irá criar perfeitamente o .exe que você adicionou no recurso!

Palmas pra mim que descobri sozinho!

BY DAVIFN

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...