如题

解决方案 »

  1.   

    那就是使用SHGetFileInfo函数,调用这个函数可以获得所有关于文件的信息。它有一个聪明的选项,SHGFI_USEFILEATTRIBUTES,这个选项允许你传递一个假文件名,如mumble.txt。即便文件不存在,SHGetFileInfo也能获得你要的信息。SHFILEINFO shfi;
    memset(&shfi,0,sizeof(shfi));
    SHGetFileInfo("foo.bmp", 
    FILE_ATTRIBUTE_NORMAL,
    &shfi, sizeof(shfi),
    SHGFI_ICON|SHGFI_USEFILEATTRIBUTES);
      

  2.   

    ExtractAssociatedIcon
    The ExtractAssociatedIcon function returns a handle to an indexed icon found in a file or an icon found in an associated executable file. HICON ExtractAssociatedIcon(
      HINSTANCE hInst,    // application instance handle
      LPTSTR lpIconPath,  // file name
      LPWORD lpiIcon      // icon index);ExtractAssociatedIcon( Application.Handle,                                      ('c:\windows\calc.exe'), 
                   lpiIcon );