Как вытащить иконки из ехе файла? VB.Net

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

DLF
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 10.09.2008 (Ср) 20:49

Как вытащить иконки из ехе файла? VB.Net

Сообщение DLF » 10.09.2008 (Ср) 20:54

Здравствуйте!
Вытащить иконку из ресурсов ехе файла на VB.Net можно так:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

PictureBox1.Image = Drawing.Icon.ExtractAssociatedIcon(filePath).ToBit map
' "filePath" - путь к файлу

End Sub

Но вопрос в другом. Ведь нередко в ехе файле не одна, а несколько иконок.
Как сделать так, чтобы можно было получить все существующие в данном файле
иконки? :roll:

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Как вытащить иконки из ехе файла? VB.Net

Сообщение Sebas » 10.09.2008 (Ср) 23:41

К .NET данный вопрос не имеет отношения.Всё рулится через WinApi32. Пример был на форуме. В году... 2003))))
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Как вытащить иконки из ехе файла? VB.Net

Сообщение Williams » 10.09.2008 (Ср) 23:54

DLF писал(а):Но вопрос в другом. Ведь нередко в ехе файле не одна, а несколько иконок.
Как сделать так, чтобы можно было получить все существующие в данном файле
иконки? :roll:


Это можно осуществить при помощи функции API ExtractIconEx через P/Invoke следующим образом:
Код: Выделить всё
<DllImport("shell32.dll", CharSet:=CharSet.Auto)> _
Shared Function ExtractIconEx(ByVal szFileName As String, _
            ByVal nIconIndex As Integer, _
            ByVal phiconLarge() As IntPtr, _
            ByVal phiconSmall() As IntPtr, _
            ByVal nIcons As UInteger) As UInteger
End Function
И вы думаете, что вас оставят в живых после прочтения этого поста?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Как вытащить иконки из ехе файла? VB.Net

Сообщение Viper » 11.09.2008 (Чт) 7:04

Williams писал(а):Это можно осуществить при помощи функции API ExtractIconEx через P/Invoke следующим образом:
Код: Выделить всё
<DllImport("shell32.dll", CharSet:=CharSet.Auto)> _
Shared Function ExtractIconEx(ByVal szFileName As String, _
            ByVal nIconIndex As Integer, _
            ByVal phiconLarge() As IntPtr, _
            ByVal phiconSmall() As IntPtr, _
            ByVal nIcons As UInteger) As UInteger
End Function
Ты уверен, что данный вариант объявления функции сделает то что надо?
Весь мир матрица, а мы в нем потоки байтов!

DLF
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 10.09.2008 (Ср) 20:49

Re: Как вытащить иконки из ехе файла? VB.Net

Сообщение DLF » 11.09.2008 (Чт) 19:49

Был у меня рабочий примерчик для VB6 именно с этой функцией, но затерялся во времени. :roll:


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 94

    TopList  
cron