Soyez le premier à donner votre avis sur cette source.
Snippet vu 11 918 fois - Téléchargée 18 fois
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
26 avril 2012 à 09:19
Je reviens au bout de deux ans :)
Oui c'est une réécriture d'exe. Pas trouvé depuis le temps.
Merci
22 août 2010 à 14:24
Pour ton projet, clique sur la form (pas sur un objet de la form) pour la mettre en focus. Dans la liste des propriétés (à droite) regarde à "Icon" et clique dessus. Clique sur le bouton "..." pour rechercher l'icône que tu souhaites.
Pour l'autre cas, il faut réécrire l'exe en ayant changé la valeur adéquate.
22 août 2010 à 14:16
Et ça ?
Dim ico As Icon = Icon.ExtractAssociatedIcon("C:\WINDOWS\system32\notepad.exe")
Me.Icon = ico
Ton script ne fonctionne que pour les "EXE" ou peut être "DLL". Ca ca marche même pour un fichier quelconque.
Dim ico As Icon = Icon.ExtractAssociatedIcon("C:\WINDOWS\WindowsUpdate.txt")
Me.Icon = ico
Tu verras l'icone du format TXT. ;)
16 août 2010 à 09:42
Et pour le remplacment d'icone d'un exe comment faire ?
Merci
23 août 2008 à 13:01
Dim x As Integer = 1
For Each ico As Image In img.Images
x = x + 1
Application.DoEvents()
ico.Save(Application.StartupPath & "\icones de " & a.Filename & x & ".ico", System.Drawing.Imaging.ImageFormat.Icon)
Next
salutations
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.