Biblioteca de recursos

15 Setembro 2007

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++:

  1. crie um novo projeto do tipo DLL;
  2. dê o nome que desejar ao projeto, lembrando que o nome do projeto será o nome do arquivo.dll [mas você pode renomear depois];

  3. apague os arquivos que ele cria por padrão: um dll.h e um dllmain.c [ou .cpp];

  4. adicione um arquivo de recurso: Novo > Arquivo de Recurso, e renomeie este novo arquivo .rc [exemplo: resource.rc];

  5. neste arquivo coloque normalmente tudo o que desejar [imagem, icone, som, etc.]. Ex: MEUICONE ICON “meuico.ico”

  6. 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 :P ];

  7. 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++:

  1. crie um novo projeto do tipo Windows Application, compile [Ctrl+F11].

  2. coloque o arquivo .dll criado anteriormente na mesma pasta do executável gerado agora.

  3. veja o código para carregar e usar[¹].

  4. 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


Ícone do executável [.exe]

13 Setembro 2007

Tenho notado que o ícone do arquivo executável [.exe] é o ícone que apresenta o menor nome na hora de defini-lo no seu arquivo de recursos [.rc], e isso inclui ser caracter em minúsculo. Por exemplo:

MEUICO ICON “meuicone.ico”
MEUOUTROICONE ICON “meuicone2.ico”

“MEUICO” tem menos caracteres que “MEUOUTROICONE”, então ele será escolhido como ícone do executável. Outro exemplo:

E ICON “meuicone.ico”
e ICON “meuicone2.ico”

“e” será o ícone do executável, pois apesar de ter o mesmo número de caracter que “E”, é um caracter minúsculo, levando a preferência.

No Dev-C++ basta ir em Projeto > Opções do Projeto [ou Alt+P] e na aba Geral no grupo Ícone, procure seu ícone através do botão Navegar e pronto. Este será sempre o ícone que estará no seu arquivo executável.