The MASM Forum Archive 2004 to 2012

General Forums => The Workshop => Topic started by: Faiseur on November 23, 2010, 12:11:29 AM

Title: Get the image list with the larger icons (48x48 and more)
Post by: Faiseur on November 23, 2010, 12:11:29 AM
Hi all,

for a project i want to recover the imagelist icons size 48x48 or higher (available from Vista and Seven) to display them.

I understood the work to be done. I have to use the SHGetImageList function to retrieve extra large icons. Windows.inc does not include this part, i set everything manually like this:


...
TGUID STRUCT
    Data1 dd ?
    Data2 dd ?
    Data3 dd ?
    Data4 dd ?
    Data5 qword ?
TGUID ENDS

SHIL_LARGE equ 0h
SHIL_SMALL equ 1h
SHIL_EXTRALARGE equ 2h
SHIL_SYSSMALL equ 3h
SHIL_JUMBO equ 4h

IID_IImageList TGUID <46EB5926h,582Eh,4017h,9FDFh,0E8998DAA0950h>

ppv32 dd HIMAGELIST

...
code

invoke SHGetImageList,SHIL_JUMBO,addr IID_IImageList,addr ppv32



My problem start when i use this fonction (error code), i must be missing something. Does anyone have an example to retrieve the extra larges icons in asm? Thanks.