Supprimer les fleches des icones du bureau

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:

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_ROOT\lnkfile", "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("Software\Microsoft\Windows\Current\VersionExplorer", 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("Software\Microsoft\Windows\CurrentVersion\Explorer", 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("Software\Microsoft\Windows\CurrentVersion\Explorer", 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

Mettre 2 buttons dans un Form et coller ce code

@+ Le Pivert

A voir également

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.