Vamos criar aqui uma biblioteca [.dll] de recursos [resource only] e depois vamos carregá-la e utilizá-la no nosso aplicativo.
Criando a DLL:
No Dev-C++:
- crie um novo projeto do tipo DLL;
-
dê o nome que desejar ao projeto, lembrando que o nome do projeto será o nome do arquivo.dll [mas você pode renomear depois];
-
apague os arquivos que ele cria por padrão: um dll.h e um dllmain.c [ou .cpp];
-
adicione um arquivo de recurso: Novo > Arquivo de Recurso, e renomeie este novo arquivo .rc [exemplo: resource.rc];
-
neste arquivo coloque normalmente tudo o que desejar [imagem, icone, som, etc.]. Ex: MEUICONE ICON “meuico.ico”
-
compile a DLL [Ctrl + F11]. Neste momento acontece um erro, mas não se desespere! Feche o Dev-C++ e abra-o novamente e tente compilar novamente. Desta vez ele compila normalmente [dev-c problema no Dev-C
];
-
Pronto, a .dll de recurso foi gerada. Vamos agora para seu carregamento e uso.
Carregando e utilizando a DLL:
Agora vamos carregar e utilizar o ícone que acabamos de colocar na DLL.
No Dev-C++:
-
crie um novo projeto do tipo Windows Application, compile [Ctrl+F11].
-
coloque o arquivo .dll criado anteriormente na mesma pasta do executável gerado agora.
-
veja o código para carregar e usar[¹].
-
compile e pronto! execute a aplicação e lá estará nosso ícone da DLL na janela do aplicativo!
[¹]
// Procedimento para carregar a DLL
HINSTANCE hDLL = LoadLibrary(“meudll.dll”);
if (!hDLL) return -1; // se não carregou saimos do programa.
// Para carregar o icone contido na DLL fazemos:
wincl.hIcon = LoadIcon (hDLL, “MEUICO”);
wincl.hIconSm = LoadIcon (hDLL, “MEUICO”);
Neste exemplo utilizamos apenas um ícone, mas pode ser feito com qualquer recurso, bastando utilizar as funções corretas para carregar cada tipo, por ex, para carregar uma imagem use LoadImage(); e etc.
É isso, espero que seja útil.
Baixe um exemplo [13kb]: exemplodll.rar