FAQ по Visual Basic

Содержание / Windows API Поиск | Далее

§ 5.6. Как все же вытащить ассоциированную иконку?
Private Declare Function ExtractAssociatedIcon _
    Lib "shell32.dll" _
    Alias "ExtractAssociatedIconA" _
    (ByVal hInst As Long, _
    ByVal lpIconPath As String, _
    lpiIcon As Long) As Long
Private Declare Function DrawIcon Lib "user32" _
    (ByVal hDC As Long, _
    ByVal X As Long, _
    ByVal Y As Long, _
    ByVal hIcon As Long) As Long
Private Declare Function DestroyIcon Lib "user32" _
        (ByVal hIcon As Long) As Long

Dim sPath As String, hIcon As Long, nIcon As Long
sPath = путь к файлу
hIcon = ExtractAssociatedIcon(App.hInstance, _
    sPath, nIcon)
DrawIcon Picture1.hDC, 0, 0, hIcon
DestroyIcon hIcon

А можно использовать и SHGetFileInfo — она две иконки дает — большую и маленькую.

Автор:
Аркадий Оловянников

Предыдущий раздел Следующий раздел

© 2004. При цитировании, пожалуйста, не забудьте поставить ссылку на оригинальную страницу.