Функция ExtractIcon

Declare Function ExtractIcon Lib "shell32" Alias "ExtractIconA" _
    (ByVal hInst as Long, _
    ByVal lpszExeFileName As String, _
    ByVal nIconIndex As Long) As Long

ExtractIcon извлекает один значок из файлов *.exe, *.dll и *.ico. Также функция может определить количество значков, хранимых в файле.

Возвращаемое значение

В случае ошибки (не найден требуемый файл) функция возвращает 1. Если найден требуемый значок в файле, функция возвращает 0. В успешном случае функция возвращает число значков, хранимых в файле (если указан соответствующий параметр) или описатель извлекаемого значка.

Параметры

hInst
Описатель приложения, вызывающего функцию
lpszExeFileName
Имя файла с расширением .exe, .dll или .ico для извлечения значков
nIconIndex
Если равен -1, функция возвращает число значков, хранимых в файле. Если это положительное число, функция извлекает значок, используя значение индекса, начинающего с нуля (т.е. значение 0 идентифицирует первый значок). Если это - отрицательное целое число и не равно -1, функция первым извлекает значок, чей идентификатор ресурса равняется абсолютному значению этого параметра. (Для извлечения значка,чей идентификатор ресурса равен 1 используйте функцию ExtractIconEx)

Пример

' Отобразим первый значок (значение индекса 0), хранимый в Блокноте
' C:\Windows\notepad.exe на окне Form1.
' Значок должен быть уничтожен  при завершении работы программы
Dim hIcon As Long  ' Описатель, полученный от исполняемого файла
Dim retval As Long  ' возвращаемое значение

' Извлекаем первый значок из заданного файла
hIcon = ExtractIcon(App.hInstance, "C:\Windows\notepad.exe", 0)
' Отобразим значок, если мы успешно извлекли его
If hIcon = 0 Then
  Debug.Print "Неудача при извлечении значка - выходим из программы"
  End
Else
  ' Отобразим значок в координатах (100, 75) на окне Form1
  retval = DrawIcon(Form1.hDC, 100, 75, hIcon)
' Хотя изображение значка все еще видимо, сам значок не используется
' Поэтому мы уничтожаем его, чтобы освободить ресурсы
retval = DestroyIcon(hIcon)
End If

Смотри также

ExtractIconEx

Категория

Значки

Реклама