用下述代码就可以了:
HICON hIcon=::ExtractIcon(AfxGetInstanceHandle(),_T("notepad.exe",0);

解决方案 »

  1.   

    wxj_ipcv说的是从文件中读取,不符合你的要求.
    _T() 是一个宏就是把一个字符串转化为Unicode的字符串.
    你不如加多一个字段,一开始就把ICON保存.
      

  2.   

    kxy,请说明你实现的过程,谢谢。
      

  3.   

    我只是一个建议:
    数据库中添加一个字段.Blob类型的.
    LoadFromFile后,删除.exe之前.
    ExeIcon : TIcon;ExeIcon.Handle := ExtractIcon(handle,"notepad.exe",0);然后把ExeIcon保存到数据库中.
    AMem : TMemoryStream;
    ExeIcon.SaveToStream(AMem);
    TBlobField(ATable.FieldByName('ExeIcon')).LoadFromStream(AMem):
      

  4.   

    感谢kxy的回答,如果实在不行,也只有这个办法了。
    能不能在不增加专门保存图标的字段的情况下,只从数据库中保存的EXE文件数据中提取图标呢?
      

  5.   

    我不会,(如果知道exe的格式应该可以的.)
    或者有API,我不知道.
      

  6.   

    我想:比尔盖子的API与你 还不至于想到一块儿了把
      

  7.   

    提取图标在DELPHI中有一个很好的例程啊,为什么不看看,舍近求远呢?:)
      

  8.   

    我到是会从EXE、DLL文件中提取图标,有兴趣的话可以看看:
    http://bluebird22.easthome.net
    我还编写了一个提取图标的程序,不过只能抓出256色(高色的图标会失真)的图标...
    在http://bluebird22.easthome.net里也有哦!