可以从explorer.exe里提取。方法如下:
转贴CSDN上的文章:
 可采取两种方法: 
       (1) SDK函数SHGetFileInfo或使用ExtractIcon获得图标资源的
       handle, 
       (2) SDK函数SHGetFileInfo获得有关文件的很多信息,如大小图标,属
 性, 
 类型等. 
       Example(1):在程序窗口左上角显示NotePad图标.        void CSampleView: OnDraw(CDC * pDC) 
       { 
       if( :: SHGetFileInfo(_T("c:\\pwin95\\notepad.exe"),0, 
       &stFileInfo,sizeof(stFileInfo),SHGFI_ICON)) 
       { 
       pDC ->DrawIcon(10,10,stFileInfo.hIcon); 
       } 
       } 
       Example(2):同样功能,Use ExtractIcon Function        void CSampleView:: OnDraw(CDC *pDC) 
       { 
       HICON hIcon=:: ExtractIcon(AfxGetInstanceHandle(),_T 
       ("NotePad.exe"),0);        if (hIcon &&hIcon!=(HICON)-1) 
       pDC->DrawIcon(10,10,hIcon); 
       } 
 说明:获得notepad.exe的路径正规上来说用GetWindowsDirectory函数
 得到, 
 如果是调用win95下的画笔,应该用访问注册表的方法获得其路径,要
 作成一个
 比较考究的程序,考虑应该全面点.