Supprimer un raccourci du bureau et/ou du menu démarrer

Soyez le premier à donner votre avis sur cette source.

Snippet vu 25 416 fois - Téléchargée 20 fois

Contenu du snippet

Mon code est simple et sert seulement à supprimer un raccourci du bureau ou du menu démarrer. Étant donné, après mes looooonnngues recherches, qu'il y a peu (ou pas) de sources à ce sujet.
Dans mon exemple, vous avez besoin que d'une feuille standard.
Je me suis inspiré de la source de Mika1000 et de clementpat. Merci pour vos sources!!!

Source / Exemple :


Private Sub Command1_Click()
Dim WSHShell

Set WSHShell = CreateObject("Wscript.Shell")
    
Dim MenudemarrerPath, BureauPath

    BureauPath = WSHShell.SpecialFolders("Desktop") ' Voir les notes en bas pour les différents path.
    MenudemarrerPath = WSHShell.SpecialFolders("AllUsersStartMenu")

'pour supprimer un raccourci du bureau
Kill BureauPath & "\LENOMDETONRACCOURCIS.lnk" 
'pour supprimer un raccourci du menu Démarrer                              
Kill MenudemarrerPath & "\LENOMDETONRACCOURCIS.lnk" 

set WSHShell = nothing
End
End Sub

'AllUsersDesktop
'AllUsersStartMenu
'AllUsersPrograms
'AllUsersStartup
'Favorites
'Fonts
'MyDocuments
'NetHood
'PrintHood
'Programs
'Récent
'SendTo
'StartMenu
'Startup
'Templates

Conclusion :


Voilà. C'est simple non? Mais ne soyez pas trop dur avec moi car je suis un débutant.

A voir également

Ajouter un commentaire

Commentaires

Messages postés
53
Date d'inscription
vendredi 6 octobre 2006
Statut
Membre
Dernière intervention
7 octobre 2009

Je savais cela et j'ai regardé mon code et non ce n'est pas ca car tout marche et tout est dans l'ordre et j'ai meme min un set WSHShell=nothing à la fin et rien ne change. je crois que mon erreur est dans le son;
Private Sub Form_Load()
' DirectSound

Set Ds = Dx.DirectSoundCreate("")
Ds.SetCooperativeLevel quitForm.hwnd, DSSCL_PRIORITY
'If Err.Number <> 0 Then
'MsgBox "Impossible de démarrer DirectSound. Vérifiez que votre carte son est bien installée."
'End
If Err.Number = 91 Then 'J'ai du ajouter cette "gestion" d'erreur car je ne connais pas cette erreur Mais
'si vous savez et etes interressé à me le dire bin Merci.
Err.Clear
End If


bufferDesc.lFlags = DSBCAPS_CTRLFREQUENCY Or DSBCAPS_CTRLPAN Or DSBCAPS_CTRLVOLUME Or DSBCAPS_STATIC
waveFormat.nFormatTag = WAVE_FORMAT_PCM
waveFormat.nChannels = 2
waveFormat.lSamplesPerSec = 22050
waveFormat.nBitsPerSample = 16
waveFormat.nBlockAlign = waveFormat.nBitsPerSample / 8 * waveFormat.nChannels
waveFormat.lAvgBytesPerSec = waveFormat.lSamplesPerSec * waveFormat.nBlockAlign

Set son = Ds.CreateSoundBufferFromFile(App.Path & "\boom logo.wav", bufferDesc, waveFormat)
Volume 80

End Sub

'fonction du volume de "son"*****Pour l'erreur no 91 (mentionné ci haut), je crois que ca proviens d'ici car le son n'est pas à 80 mais à 100 quand on entend le "boom" de la fin
Public Sub Volume(ByVal vol As Long)
Dim av As Long
vol = Abs(100 - vol)
If vol < 0 Then vol = 0
If vol > 100 Then vol = 100
av = vol * (-50)

'ici on peux changer,ajouter des sons/musiques pour le controle du volume
son.SetVolume av

End Sub
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
Salut, cette erreur arrive parce que tu as du faire un :

WSHShell.quelquechose AVANT d'avoir instancié WSHShell par Set WSHShell = CreateObject("Wscript.Shell").

Ou en tout cas c'est quelque chose dans le genre ;)
@+
Messages postés
53
Date d'inscription
vendredi 6 octobre 2006
Statut
Membre
Dernière intervention
7 octobre 2009

Salut Violent_Ken, voilà j'ai fais les modifs. Et en passant, si quelqun sait, c'est quoi l'erreur #91?
dans le test, ca marche no1 mais ,une fois compilé, à la fin de mon programme ca me dit cette erreur.J'ai fais un genre d'installateur qui copie les fichiers contenus avec dans un répertoire de windows(ex."C:") avec des raccourcis (le tout fonctionne compilé ou non)et c'est à la suppression que j'ai ce message: Erreur d'éxécution '91'Variable objet ou variable boc WITH non définie.

J'ai tout rereregardé mon code et les variables mais il n'y a aucun "WITH" dans mon projet donc ????....

Si quelqun est plus avancé que moi (moi debutant :P ) veux bien me répondre, MERCI à l'avance.
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
Ah mais ne le prend pas mal, plus il y a de sources mieux c'est pour codes-sources.

Cependant, un raccourci est un fichier *.lnk, donc un
Kill "c:\....\raccourci.lnk" aurait eu le même résultat que ta source... c'est pour çà que je dis qu'il n'y a rien de nouveau, et que donc par conséquent, çà existe déjà en mutliples exemplaires.


Qu'importe, si tu veux améliorer ta source, voilà quelques conseils :
- Set WSHShell = Nothing avant de quitter le programme
- typer les variables (exemple : Dim MenudemarrerPath as string, BureauPath as string)
- supprimer la procédure SupprimerFichier et la remplacer par l'instruction Kill


@+
Messages postés
53
Date d'inscription
vendredi 6 octobre 2006
Statut
Membre
Dernière intervention
7 octobre 2009

Salut violent_Ken tu as dit:
"Étant donné, après mes looooonnngues recherches, qu'il y a peu (ou pas) de sources à ce sujet." ==> Ah bon ? Du DeleteFile par FSO, c'est pourtant pas ce qui manque...
@+

J'ai bien spécifié ma source et il me semble quil ny ai pas de sources pour supprimer un raccourci, donc j'en ai fait une.
Je sais que c'est basique mais ca peut aider un autre débutant.
Afficher les 9 commentaires

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.