Compartilhamento de recursos de ícone

O código a seguir usa as funções CreateIconFromResourceEx, DrawIcone LookupIconIdFromDirectoryEx, e várias das funções de recursos, para criar um identificador de ícone com base em dados de ícone de outro arquivo executável. Em seguida, ele exibe o ícone em uma janela.

HICON hIcon1;       / / ícone identificador HINSTANCE hExe;     / / manipular a carregado.Arquivo EXE HRSRC hResource;    / / manipular para FindResource HRSRC hMem;         / / manipular para LoadResource BYTE * lpResource;   / / endereço do recurso dados int nID;            / / ID do recurso que melhor se encaixa atual tela HDC hdc;        / / identificador para exibir contexto / / carregar o arquivo do qual deseja copiar o ícone. 
 
hExe = LoadLibrary("myapp.exe"); 
 
/ / Find diretório do ícone cujo identificador é 440. 
 
hResource = FindResource (hExe, MAKEINTRESOURCE(440), RT_GROUP_ICON); 
 
/ / Carregar e bloquear o diretório do ícone. 
 
hMem = LoadResource (hExe, hResource); 
 
lpResource = LockResource(hMem); 
 
/ / Obter o identificador do ícone mais apropriado / / para a exibição do vídeo. 
 
nID = LookupIconIdFromDirectoryEx((PBYTE) lpResource, TRUE, CXICON, CYICON, LR_DEFAULTCOLOR); 
 
/ / Encontrar os bits para o ícone de nID. 
 
hResource = FindResource (hExe, MAKEINTRESOURCE(nID), MAKEINTRESOURCE(RT_ICON)); 
 
/ / Carregar e bloquear o ícone. 
 
hMem = LoadResource (hExe, hResource); 
 
lpResource = LockResource(hMem); 
 
/ / Criar um identificador para o ícone. 
 
hIcon1 = CreateIconFromResourceEx((PBYTE) lpResource, SizeofResource (hExe, hResource), TRUE, 0x00030000, CXICON, CYICON, LR_DEFAULTCOLOR); 
 
/ / Desenhar o ícone na área de cliente. 
 
DrawIcon (hdc, 10, 20, hIcon1) 

 

Index