Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Выделение иконки из EXE-файла Добавлено: 19.04.07 13:12  

Автор вопроса:  Yanex | Web-сайт: Progr.Do.am | ICQ: 387761649 
Проблема заключается вот в чем :

1. Нужно выделить первую иконку из EXE-файла в ICO-файл (иконка, которая по умолчанию показывается в Проводнике). В сети есть некоторые проекты, но они очень неудобны (в идеале хотелось бы иметь единую процедуру/функцию).

2. Как вариант, можно конвертировать иконку в строковой тип (String). Не знаю, как это сделать, но, вероятно, можно (тогда нужно будет написать и обратную функцию - перевода из строки в картинку).

Если Вы знаете, как можно осуществить данный замысел, пишите! Буду благодарен любому ответу.

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #1
Добавлено: 19.04.07 13:31
Через 1:30 скину на мило

Ответить

Номер ответа: 2
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #2
Добавлено: 19.04.07 15:36
Вот пример, кинь на форму кнопку и PictureBox.
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 DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Public Function FolderExists(ByVal strPathName As String) As Boolean
Dim DirectoryFound As String
Const errPathNotFound As Integer = 76
On Error GoTo 0
DirectoryFound = Dir(strPathName, vbDirectory)
If (Len(DirectoryFound) = 0 Or Err = errPathNotFound) Then
FolderExists = False
Else
FolderExists = True
End If
End Function
Private Sub Command1_Click() 'Çàïèñíàÿ êíèæêà
Dim hIcon As Long, i As Long
Dim FilePath As String
FilePath = "NOTEPAD.exe"
Picture1.BorderStyle = 0
Picture1.BackColor = vbWhite
Picture1.Height = Screen.TwipsPerPixelY * 32
Picture1.Width = Screen.TwipsPerPixelY * 32
'While hIcon <> 0
hIcon = ExtractIcon(App.hInstance, FilePath, i)
Set Picture1.Picture = LoadPicture("";)
Picture1.AutoRedraw = True
Call DrawIcon(Picture1.hdc, 0, 0, hIcon)
Picture1.AutoRedraw = False
Picture1.Refresh
SavePicture Picture1.Image, "c:\" & 1 & ".ico"
End Sub

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам