参考 API:
SHGetFileInfo
结构:
SHFILEINFO

解决方案 »

  1.   

    Delphi下面的Demos有一个例子叫Virtual ListView,如有什么疑问可同我联系。Mail:[email protected]
      

  2.   

    你可以试一试这个:ExeIcon : TIcon;
    ExeIcon.Handle := ExtractIcon(handle,"notepad.exe",0);
      

  3.   

       WINSHELLAPI DWORD WINAPI SHGetFileInfo(LPCSTR  pszPath,DWORD  dwFileAttributes,SHFILEINFO FAR  *psfi,   UINT  cbFileInfo,UINT  uFlags   );
    它的作用是:取回文件系统中的一个对象的信息,对象可以是文件、文件夹、目录或驱动器的根目录。操作过程大体如下:
    var
     ShFileInfo: TSHFILEINFO;
     FileList:TListView;
    begin
      ...
      Result := FileList.Items.Add;
      with Result do
      begin
        Caption:=filename;
        ShGetFileInfo(pchar(vartostr(filename)), 0, SHFileInfo, SizeOf(SHFileInfo),
            SHGFI_SMALLICON or SHGFI_SYSICONINDEX or SHGFI_TYPENAME)=0 then
            showmessage('error in shgetfileinfo');
        ImageIndex := SHFileInfo.iIcon;
      end; 
      ...
    end;
      

  4.   

    还有另外一种方法,可以通过注册标操作得到,看看HKEY_CLASSES_ROOT下的结构就明白了