在VB中实现:
知道应用程序的实际路径,如何将应用程序的图标动态的加到ListView中.

解决方案 »

  1.   

    直接提取图标,然后添加到ImageList中,就可以显示了
      

  2.   

    http://www.mndsoft.com/blog/article.asp?id=7
    枕善居很不错哦
      

  3.   

    Private   Declare   Function   ExtractIcon   Lib   "shell32.dll "   Alias   "ExtractIconA " 
    (ByVal   hInst   As   Long,   ByVal   lpszExeFileName   As   String,   ByVal   nIconIndex   As 
    Long)   As   Long 
    Private   Declare   Function   OleCreatePictureIndirect   Lib   "olepro32.dll " 
    (lpPictDesc   As   PICTDESC,   riid   As   Any,   ByVal   fPictureOwnsHandle   As   Long, 
    IPic   As   IPicture)   As   Long Private   Type   PICTDESC 
            Size                                 As   Long 
            Type                                 As   Long 
            hBmpOrIcon                     As   Long 
            hPal                                 As   Long 
    End   Type '   取得EXE文件图标 
    '   参数:EXE文件完整路径名 
    Public   Function   GetAppIco(ByVal   PathName   As   String)   As   StdPicture 
            
            Dim   lRet                         As   Long 
            Dim   aGuid(0   To   3)       As   Long 
            Dim   oNewPic                   As   IPicture 
            Dim   lpPictDesc             As   PICTDESC 
            
            lRet   =   FileLen(PathName)                                                   '   文件是否存在? 
            lRet   =   ExtractIcon(App.hInstance,   PathName,   0)       
            
            If   lRet   Then 
                    
                  lpPictDesc.Size   =   Len(lpPictDesc) 
                    lpPictDesc.Type   =   vbPicTypeIcon 
                    lpPictDesc.hBmpOrIcon   =   lRet 
                    
                    aGuid(0)   =   &H7BF80980 
                    aGuid(1)   =   &H101ABF32 
                    aGuid(2)   =   &HAA00BB8B 
                    aGuid(3)   =   &HAB0C3000 
                    
                    '   将图标转换成   Picture   对象 
                    OleCreatePictureIndirect   lpPictDesc,   aGuid(0),   True,   oNewPic 
                    
                    Set   GetAppIco   =   oNewPic 
                    
            End   If 
            
    End   Function Private   Sub   Command1_Click() 
            Set   Me.Icon   =   GetAppIco( "C:\WINDOWS\explorer.exe ") 
    End   Sub