delphi - How to get the shell image index of an object in the shell namespace? -


i want index in system imagelist of object in shell namespace.

if object file use shgetfileinfo:

function getfileimageindex(const filename: string): integer; var    sfi: tshfileinfo; begin    shgetfileinfo(pchar(filename), file_attribute_normal, sfi, sizeof(sfi),           shgfi_usefileattributes or shgfi_sysiconindex);    result := sfi.iicon; end; 

except don't have file

the thing have doesn't exist on hard-drive folder or file, e.g.:

  • control panel
  • homegroup
  • network

but still need index in system imagelist of icon corresponds thing. started shgetfileinfo (as supports pidls). fell apart. tried using iextracticon, fell apart:

function getobjectimageindex(parentfolder: ishellfolder; const childpidl: pitemidlist): integer; //var //  sfi: tshfileinfo;  //  extracticon: iextracticon; //  iconfile: widestring; //  iconindexinfile: integer; //  flags: cardinal; begin     {         function shell namespace equivalent of getfileimageindex helper function.     } (*     won't work (msdn: "the pidl must qualified pidl. relative pidls not allowed.")     shgetfileinfo(pwidechar(childpidl), file_attribute_normal,             sfi, sizeof(sfi),             shgfi_pidl or shgfi_sysiconindex); *)  (*     won't work. doesn't return index system imagelist     parentfolder.getuiobjectof(0, 1, childpidl, iextracticon, nil, {out}extracticon);     setlength(iconfile, max_path);     extracticon.geticonlocation(0, pwidechar(iconfile), length(iconfile), iconindexinfile, {out}flags); *)      result := -1; //todo: figure out how it. end; 

given ishellfolder , pidl in folder, how icon in system imagelist of thing?

the simple answer pass absolute pidl identifies object shgetfileinfo. tried without success, way solve problem.

you should go shgetfileinfo , make work. looks got far having relative pidl , stopped. make absolute pidl ilcombine , should home.

if don't have pidl containing ishellfolder you'll want read topic: how obtain pidl of ishellfolder


Comments

Popular posts from this blog

javascript - Jquery show_hide, what to add in order to make the page scroll to the bottom of the hidden field once button is clicked -

javascript - Highcharts multi-color line -

javascript - Enter key does not work in search box -