Współużytkowanie zasobów ikonę

Następujący kod używa funkcji CreateIconFromResourceEx, DrawIconi LookupIconIdFromDirectoryEx, i kilka funkcji zasobów, aby utworzyć dojście do ikony na podstawie danych ikonę z innego pliku wykonywalnego. Następnie wyświetla ikonę w oknie.

HICON hIcon1;       / / ikona uchwytu wystąpienie HINSTANCE hExe;     / / dojście do załadowany.Plik EXE HRSRC hResource;    / / uchwytu FindResource HRSRC hMem;         / / uchwytu LoadResource BAJT * lpResource;   / / adresu z zasobów danych int nID;            / / Identyfikator zasobu, który najlepiej pasuje do bieżącego ekranu HDC hdc;        / / dojście do wyświetlania kontekst / / ładowania pliku, z którego skopiować tę ikonę. 
 
hExe = LoadLibrary("myapp.exe"); 
 
/ / Znaleźć katalogu ikony, których identyfikator jest 440. 
 
hResource = FindResource (hExe, MAKEINTRESOURCE(440), RT_GROUP_ICON); 
 
/ / Ładowania i zablokować katalogu ikony. 
 
hMem = LoadResource (hExe, hResource); 
 
lpResource = LockResource(hMem); 
 
/ / Get identyfikator ikonę, która jest najbardziej odpowiednim / / wyświetlacza wideo. 
 
nID = LookupIconIdFromDirectoryEx((PBYTE) lpResource, prawda, CXICON, CYICON, LR_DEFAULTCOLOR); 
 
/ / Znajdź bitów dla ikony nID. 
 
hResource = FindResource (hExe, MAKEINTRESOURCE(nID), MAKEINTRESOURCE(RT_ICON)); 
 
/ / Ładowania i zablokować tę ikonę. 
 
hMem = LoadResource (hExe, hResource); 
 
lpResource = LockResource(hMem); 
 
/ / Utworzyć dojścia do ikony. 
 
hIcon1 = CreateIconFromResourceEx((PBYTE) lpResource, SizeofResource (hExe, hResource), prawda, 0x00030000, CXICON, CYICON, LR_DEFAULTCOLOR); 
 
/ / Draw ikonę w obszarze klienta. 
 
DrawIcon (hdc, 10, 20, hIcon1) 

 

Index