- Dim a As New OpenFileDialog
-
- Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As IntPtr, ByVal lpszExeFileName As String, ByVal nIconIndex As Integer) As IntPtr
-
- Private Sub opebtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles opebtn.Click
- namelbl.Text = "File name : " & a.FileName
- a.Filter = "Win32 PE Files (*.Exe,*.Dll,*.Scr,*.cpl)|*.exe;*.dll;*.scr;*.cpl"
- If a.ShowDialog = Windows.Forms.DialogResult.OK Then
- Dim Handler As IntPtr
- 'On passe -1 pour lire le nombre d'icones
- Handler = ExtractIcon(Me.Handle, a.FileName, -1)
- If Handler.ToInt32 = 0 Then
- MsgBox("Pas d'icones dans le fichier selectionne.....", MsgBoxStyle.Exclamation, "Error")
- Exit Sub
- End If
- total.Text = "Total icons : " & Handler.ToInt32
- img.Images.Clear()
- Dim i As Integer
- 'On prend le nombre d'icones.
- i = Handler.ToInt32
- For i = 1 To i
- 'La fonction retourne un handle pour l'icone.
- 'On lui passe: le handle de la fenetre, le nom de fichier et l'index de l'icone.
- Handler = ExtractIcon(Me.Handle, a.FileName, i - 1)
- img.Images.Add(i, System.Drawing.Icon.FromHandle(Handler))
- Next
- End If
- End sub
Dim a As New OpenFileDialog
Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As IntPtr, ByVal lpszExeFileName As String, ByVal nIconIndex As Integer) As IntPtr
Private Sub opebtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles opebtn.Click
namelbl.Text = "File name : " & a.FileName
a.Filter = "Win32 PE Files (*.Exe,*.Dll,*.Scr,*.cpl)|*.exe;*.dll;*.scr;*.cpl"
If a.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim Handler As IntPtr
'On passe -1 pour lire le nombre d'icones
Handler = ExtractIcon(Me.Handle, a.FileName, -1)
If Handler.ToInt32 = 0 Then
MsgBox("Pas d'icones dans le fichier selectionne.....", MsgBoxStyle.Exclamation, "Error")
Exit Sub
End If
total.Text = "Total icons : " & Handler.ToInt32
img.Images.Clear()
Dim i As Integer
'On prend le nombre d'icones.
i = Handler.ToInt32
For i = 1 To i
'La fonction retourne un handle pour l'icone.
'On lui passe: le handle de la fenetre, le nom de fichier et l'index de l'icone.
Handler = ExtractIcon(Me.Handle, a.FileName, i - 1)
img.Images.Add(i, System.Drawing.Icon.FromHandle(Handler))
Next
End If
End sub