Supprimer les fleches des icones du bureau

Soyez le premier à donner votre avis sur cette source.

Snippet vu 2 989 fois - Téléchargée 23 fois

Contenu du snippet

Ce code est en réponse à un commentaire d'un membre sur ce programme en VB6:

http://codes-sources.commentcamarche.net/source/53824-fleches-des-icones-du-bureau



Voici donc ce code:

Mettre 2 buttons dans un Form et coller ce code:

Option Strict On
Imports Microsoft.Win32
Public Class Form1
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Verificationvaleur() 'flèches
        Verificationdonnées() 'raccourci
    End Sub

    '*************************FLECHES ICONES**************************

    'Verifier si la valeur existe
    Private Sub Verificationvaleur()
        If My.Computer.Registry.GetValue("HKEY_CLASSES_ROOTlnkfile", "IsShortcut", Nothing) Is Nothing Then 'vérifier si la valeur existe
            Button1.Text = "Rétablir flèches icones bureau "
        Else
            Button1.Text = "Supprimer flèches icones bureau"
        End If
    End Sub
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If Not IsAdmin() Then
            MessageBox.Show("La modification du registre ne se fera pas car vous n'avez pas les " & _
                 "droits d'aministrateur." & Environment.NewLine & "Pour modifier cette option, vous devez fermer ce programme " & _
                " et le relancer en tant qu'administrateur.", "Droits d'aministrateur", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Else
            'supprimer flèches icônes
            If Button1.Text = "Supprimer flèches icones bureau" Then
                Try
                    Dim var As RegistryKey = Registry.ClassesRoot.OpenSubKey("lnkfile", True)
                    var.DeleteValue("IsShortcut") 'supprime la valeur
                    var.SetValue("IsShortcut_old", "", RegistryValueKind.String) 'ajoute la valeur
                    var.Close() 'Fermeture du registre
                    MessageBox.Show("Vous devez redemarrer votre pc pour que la modification soit opérationnelle", "Flèches icônes bureau", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Button1.Text = "Rétablir flèches icones bureau "
                Catch ex As Exception
                    MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
            Else
                'rétablir flèches icônes
                Try
                    Dim var As RegistryKey = Registry.ClassesRoot.OpenSubKey("lnkfile", True)
                    var.DeleteValue("IsShortcut_old") 'supprime la valeur
                    var.SetValue("IsShortcut", "", RegistryValueKind.String) 'ajoute la valeur
                    var.Close() 'Fermeture du registre
                    MessageBox.Show("Vous devez redemarrer votre pc pour que la modification soit opérationnelle", "Flèches icônes bureau", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Button1.Text = "Supprimer flèches icones bureau"
                Catch ex As Exception
                    MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
            End If
        End If
    End Sub

    '*************************RACCOURCI VERS**************************

    'Verifier les données de la valeur binary
    Private Sub Verificationdonnées()
        Dim tmp As Byte()
        Dim var As RegistryKey = Registry.CurrentUser.OpenSubKey("SoftwareMicrosoftWindowsCurrentVersionExplorer", True)
        tmp = CType(var.GetValue("link"), Byte())
        Dim valeurBinaire As String = BitConverter.ToString(tmp).ToString().ToUpper 'conversion en string
        var.Close() 'Fermeture du registre            
        If valeurBinaire = "00-00-00-00" Then
            Button2.Text = "    Rétablir Raccourci vers    "
        Else
            Button2.Text = "    Supprimer Raccourci vers   "
        End If
    End Sub
    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        If Not IsAdmin() Then
            MessageBox.Show("La modification du registre ne se fera pas car vous n'avez pas les " & _
                 "droits d'aministrateur." & Environment.NewLine & "Pour modifier cette option, vous devez fermer ce programme " & _
                " et le relancer en tant qu'administrateur.", "Droits d'aministrateur", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Else
            'supprimer raccourci vers
            If Button2.Text = "    Supprimer Raccourci vers   " Then
                Try
                    Dim test As Byte() = {0, 0, 0, 0}
                    Dim var As RegistryKey = Registry.CurrentUser.OpenSubKey("SoftwareMicrosoftWindowsCurrentVersionExplorer", True)
                    var.SetValue("link", test, RegistryValueKind.Binary) 'change la valeur
                    var.Close() 'Fermeture du registre
                    MessageBox.Show("Vous devez redemarrer votre pc pour que la modification soit opérationnelle", "Raccourci vers", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Button2.Text = "    Rétablir Raccourci vers    "
                Catch ex As Exception
                    MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
            Else
                'rétablir raccourci vers
                Try
                    Dim test As Byte() = {1, 0, 0, 0}
                    Dim var As RegistryKey = Registry.CurrentUser.OpenSubKey("SoftwareMicrosoftWindowsCurrentVersionExplorer", True)
                    var.SetValue("link", test, RegistryValueKind.Binary) 'change la valeur
                    var.Close() 'Fermeture du registre
                    MessageBox.Show("Vous devez redemarrer votre pc pour que la modification soit opérationnelle", "Raccourci vers", MessageBoxButtons.OK, MessageBoxIcon.Information)
                   Button2.Text = "    Supprimer Raccourci vers   "
                Catch ex As Exception
                    MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
            End If
        End If
    End Sub
    Private Function IsAdmin() As Boolean
        Return (My.User.IsInRole(Microsoft.VisualBasic.ApplicationServices.BuiltInRole.Administrator))
    End Function

    'Pour Vista, Seven et W8 il faut exécuter ce programme en tant qu'administrateur
    'Allez dans Propriétés de l'exe Compatibilité et cochez: exécuter ce programme en tant qu'administrateur
    'avant toute modification du registre n'oubliez pas de faire une sauvegarde

End Class


Les antislash sont supprimés lors de la copie. Correction:

ligne 13

"HKEY_CLASSES_ROOT\lnkfile"

et 3 fois sur les lignes:58, 78, 90

"Software\Microsoft\Windows\CurrentVersion\Explorer"


Bonne programmation

@+ Le Pivert

A voir également

Ajouter un commentaire

Commentaire

Messages postés
6831
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
10 juillet 2020
109
AVERTISSEMENT

Pour les possesseurs de Windows 8.1, le fait de supprimer les flèches des icônes du bureau supprime le menu contextuel du bouton démarrer situé dans le coin en bas à gauche.

Voir cette discussion:

http://www.commentcamarche.net/forum/affich-29285471-clic-droit-sur-bouton-demarrer-ne-fonctionne-pas-sous-windows8-1#p29496734

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.