My.Resources.icone1.Save(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\icone1.ico", System.Drawing.Imaging.ImageFormat.Icon)
Dim path As String = Application.StartupPath path = Replace(path, "bin\Debug", "Resources") path = path & "\icone1.ico" FileCopy(path, Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\icone1.ico")
Dim path As String = Application.StartupPath
path = Replace(path, "bin\Debug", "Resources")
path = path & "\icone1.ico"
FileCopy(path, Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\icone1.ico")
My.Resources.icone1.Save(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\icone1.ico", System.Drawing.Imaging.ImageFormat.Icon)
Imports System.IO
Public Class Form1
#Region "Raccourci"
Private Function CreerRaccourciAvecIcone(ByVal TargetName As String, ByVal ShortCutPath As String, ByVal ShortCutName As String, ByVal Icones As String) As Boolean
Dim oShell As Object
Dim Raccourcis As Object
Try
oShell = CreateObject("WScript.Shell")
Raccourcis = oShell.CreateShortcut(ShortCutPath & "\" & ShortCutName & ".lnk")
Raccourcis.TargetPath = TargetName
Raccourcis.WindowStyle = 1
Raccourcis.IconLocation = Icones
Raccourcis.Save()
Catch ex As Exception
End Try
End Function
#End Region
#Region "Convertire"
Public Shared Function Convert(ByVal Entrées As System.IO.Stream, ByVal Sortie As System.IO.Stream, ByVal Size As Integer, Optional ByVal Conserver_les_proportions As Boolean = False) As Boolean
Dim Bit_entrée As System.Drawing.Bitmap = DirectCast(System.Drawing.Bitmap.FromStream(Entrées), System.Drawing.Bitmap)
If Bit_entrée IsNot Nothing Then
Dim Width As Integer, Height As Integer
If Conserver_les_proportions Then
Width = Size
Height = Bit_entrée.Height / Bit_entrée.Width * Size
Else
Width = InlineAssignHelper(Height, Size)
End If
Dim Nouveau_bit As New System.Drawing.Bitmap(Bit_entrée, New System.Drawing.Size(Width, Height))
If Nouveau_bit IsNot Nothing Then
Dim Données As New System.IO.MemoryStream()
Nouveau_bit.Save(Données, System.Drawing.Imaging.ImageFormat.Png)
Dim Créer_icone As New System.IO.BinaryWriter(Sortie)
If Sortie IsNot Nothing AndAlso Créer_icone IsNot Nothing Then
' 0-1 reserved, 0
Créer_icone.Write(CByte(0))
Créer_icone.Write(CByte(0))
' 2-3 image type, 1 = icon, 2 = cursor
Créer_icone.Write(CShort(1))
' 4-5 number of images
Créer_icone.Write(CShort(1))
' image entry 1
' 0 image width
Créer_icone.Write(CByte(Width))
' 1 image height
Créer_icone.Write(CByte(Height))
' 2 number of colors
Créer_icone.Write(CByte(0))
' 3 reserved
Créer_icone.Write(CByte(0))
' 4-5 color planes
Créer_icone.Write(CShort(0))
' 6-7 bits per pixel
Créer_icone.Write(CShort(32))
' 8-11 size of image data
Créer_icone.Write(CInt(Données.Length))
' 12-15 offset of image data
Créer_icone.Write(CInt(6 + 16))
' Écrire les données d'image
' Les données png doivent contenir le fichier des données png complet
Créer_icone.Write(Données.ToArray())
Créer_icone.Flush()
Return True
End If
End If
Return False
End If
Return False
End Function
Private Shared Function InlineAssignHelper(Of T)(ByRef Cible As T, ByVal Valeur As T) As T
Cible = Valeur
Return Valeur
End Function
Public Function Convert(ByVal Image_entrée As String, ByVal Icone_Sortie As String, ByVal Size As Integer, Optional ByVal conserver_les_proportions As Boolean = False) As Boolean
Dim Entrées As New System.IO.FileStream(Image_entrée, System.IO.FileMode.Open)
Dim Sortie As New System.IO.FileStream(Icone_Sortie, System.IO.FileMode.OpenOrCreate)
Dim result As Boolean = Convert(Entrées, Sortie, Size, conserver_les_proportions)
Entrées.Close()
Sortie.Close()
Return result
End Function
#End Region
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Chemin_PNG As String = String.Empty
Dim Chemin_ICO As String = String.Empty
Chemin_PNG = Environment.GetFolderPath(Environment.SpecialFolder.Windows) & "\Sup.png"
Chemin_ICO = Environment.GetFolderPath(Environment.SpecialFolder.Windows) & "\Sup.ico"
My.Resources.Sup.Save(Chemin_PNG, System.Drawing.Imaging.ImageFormat.Png)
Dim Taille As Integer
Taille = 48
Convert(Chemin_PNG, Chemin_ICO, Taille, False)
My.Computer.FileSystem.DeleteFile(Chemin_PNG, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.DeletePermanently)
CreerRaccourciAvecIcone("Appwiz.cpl", Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Ajouter ou Supprimer un Programme", Chemin_ICO)
End Sub
End Class
Dim Chemin_PNG As String = String.Empty Dim Chemin_ICO As String = String.Empty Chemin_PNG = Environment.GetFolderPath(Environment.SpecialFolder.Windows) & "\Sup.png" Chemin_ICO = Environment.GetFolderPath(Environment.SpecialFolder.Windows) & "\Sup.ico" PictureBox1.Image = My.Resources.Sup.ToBitmap() PictureBox1.Image.Save(Chemin_PNG, System.Drawing.Imaging.ImageFormat.Png) Dim Taille As Integer Taille = 48 Convert(Chemin_PNG, Chemin_ICO, Taille, False)
PictureBox1.Image = My.Resources.Sup.ToBitmap()
My.Resources.Shell32_024.Save(Chemin_PNG, System.Drawing.Imaging.ImageFormat.Png)
Dim oBitmap As Bitmap Dim HIcon As IntPtr Dim newIcon As Icon Dim oFileStream As IO.FileStream Dim ico As Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath) 'chemin de l'executable ImageList1.Images.Add(ico) PictureBox1.Image = ImageList1.Images(0) oBitmap = New Bitmap(PictureBox1.Image) 'Set transparence color. oBitmap.MakeTransparent(Color.Transparent) oBitmap.SetResolution(96, 96) ' Get an Hicon for myBitmap. HIcon = oBitmap.GetHicon() ' Create a new icon from the handle. newIcon = System.Drawing.Icon.FromHandle(HIcon) ' Set the form Icon attribute to the new icon. Me.Icon = newIcon oFileStream = New IO.FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\Monicone.ico", IO.FileMode.CreateNew) newIcon.Save(oFileStream) oFileStream.Close() MessageBox.Show("Opération réussie.", "Extraire icône", MessageBoxButtons.OK, MessageBoxIcon.Information)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionDim HIcon As IntPtr Dim newIcon As Icon Dim oFileStream As IO.FileStream Dim ico As Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath) 'chemin de l'executable ImageList1.Images.Add(ico) PictureBox1.Image = ImageList1.Images(0) Dim imageSource As New Bitmap(PictureBox1.Image) 'crée un Bitmap avec la nouvelle taille Dim bp As New Bitmap(32, 32) Dim gr As Graphics = Graphics.FromImage(bp) 'copie l'image source dans la nouvelle image gr.DrawImage(imageSource, 0, 0, bp.Width + 1, bp.Height + 1) bp.MakeTransparent(Color.Transparent) bp.SetResolution(96, 96) ' Get an Hicon for myBitmap. HIcon = bp.GetHicon() ' Create a new icon from the handle. newIcon = System.Drawing.Icon.FromHandle(HIcon) ' Set the form Icon attribute to the new icon. Me.Icon = newIcon oFileStream = New IO.FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\Monicone.ico", IO.FileMode.CreateNew) newIcon.Save(oFileStream) oFileStream.Close() MessageBox.Show("Opération réussie.", "Extraire icône", MessageBoxButtons.OK, MessageBoxIcon.Information)