IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

déploiment de raccourci sur le bureau par script


Sujet :

VBScript

  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2010
    Messages : 42
    Par défaut déploiment de raccourci sur le bureau par script
    bonjour,

    comment faire pour deployer par script les raccourci bureau style
    mes documents ordinateur et word outlook et excel
    avec ceux-si
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim Wsh As New WshShell
     
    DesktopPath = Wsh.SpecialFolders("Desktop")
    Set Shortcut = Wsh.CreateShortcut(DesktopPath & "\Test.lnk")
    With Shortcut
        .TargetPath = App.EXEName
        .Description = "Mon Programme"
        .WindowStyle = 4
        .Save
    End With
    merci d'avance de vos réponse

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Certaines déclarations/définitions ne sont pas reconnues sous VBScript telles que Dim x As..... : on n'ajoute pas le type.
    App.Path et App.EXEName sont spécifiques à Visual Basic.
    Voici un petit exemple de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Explicit
    Dim WshShell, strDesktop, oMyShortCut
     
         Set WshShell = CreateObject("WScript.Shell")
         strDesktop = WshShell.SpecialFolders("DeskTop")
         Set oMyShortCut = WshShell.CreateShortcut(strDesktop & "\MonProg.lnk")
         oMyShortCut.TargetPath = "Chemin Complet"
         oMyShortCut.Hotkey = "ALT+CTRL+E"
         oMyShortCut.Save
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2010
    Messages : 42
    Par défaut
    bonjour,

    merci beaucoup mais ça ne m'aide pas beaucoup
    moi ce que j'aimerais savoir sais comment déployer par script
    avec ton script par exemple mes document bureau ainsi que word excel
    et outlook tous ça dans le même script qui serait placé dans une GPO
    et qui à l'ouverture de session me crée les raccourcie

  4. #4
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Dans ce cas de figure, tu peux référencer tous les programmes(ou fichiers/dossiers) pour lesquels tu veux créer des raccourcis dans le même fichier script(recopie le script précédent autant de fois que nécessaire en modifiant ce qui se rapporte à chaque programme, fichier ou dossier).
    Une fois le fichier enregistré - bien sûr après test- place un raccourci dudit script dans Démarrer\Tous les programmes\démarrage.

    A chaque démarrage de session, il y aura création des raccourcis(s'ils n'existent pas au préalable).
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  5. #5
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2010
    Messages : 42
    Par défaut
    bonsoir,

    merci c'est gentil mais je ne connais pas les paramètre
    à rentrer pour faire ce que tu dis copiez coller je sais faire
    mais ces les paramètre que sais pas faire

  6. #6
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Salut;

    Voici un exemple de code qui crée des raccourcis pour les dossiers "SpecialFolders"
    Il faut au préalable créer un dossier "FOLD" sur le bureau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Option Explicit
    Dim WS, strDesktop, oMyShortCut
    dim I,cnt,Prg,Prg1
     
    set WS=WScript.CreateObject("WScript.Shell")
    cnt=ws.specialfolders.count
     
    For I=0 to cnt-1  
        On Error Resume Next
         if err then msgbox err.description
         strDesktop = WS.SpecialFolders("DeskTop") & "\FOLD"
         prg=WS.SpecialFolders(I)
         Prg1=WS.SpecialFolders(I)
         Prg1=Left(prg1,instrrev(prg1,"\"))
         prg=Right(prg,len(prg)-instrrev(prg,"\"))
         Set oMyShortCut = WS.CreateShortcut(strDesktop & "\" & prg & ".lnk")
         oMyShortCut.TargetPath = WS.SpecialFolders(I) '  "Chemin Complet"
         oMyShortCut.Hotkey = "ALT+CTRL+" & Ucase(Left(prg,1))
         oMyShortCut.WorkingDirectory=Prg1
         oMyShortCut.Save
         strDeskTop=""
    Next
    Wscript.Quit
    Tu peux ensuite modifier ce code selon ton besoin.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  7. #7
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2010
    Messages : 42
    Par défaut
    bonjour,

    merci beaucoup ça à l'air pas mal
    peux-tu m'expliquer ligne par ligne ce que fait
    ton script que je puisse le modifier selon ce que j'ai à faire.
    j'ai attacher un fichier avec regarde exactement ce que je veux
    Images attachées Images attachées  

  8. #8
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Salut;
    Voici le code commenté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Option Explicit
    '==== Déclaration des variables
    Dim WS, strDesktop, oMyShortCut,FSO,Fd
    dim I,cnt,Prg,Prg1,myFolder
     
    '########## Création d'une instance de FileSystemObject
    set Fso=CreateObject("Scripting.FileSystemObject")
     
    '########## Création d'une instance de Shell
    set WS=WScript.CreateObject("WScript.Shell")
     
    myFolder=WS.SpecialFolders("DeskTop")       '### Obtenir le dossier "Bureau"
     
      If Not FSO.FolderExists(myFolder & "\FOLD") Then
       set Fd=FSO.CreateFolder(myFolder & "\FOLD") ' ### Création du dossier "FOLD"
      Else : Set Fd=FSO.GetFolder(myFolder & "\FOLD") '### Sinon, on obtient le dossier
      End If
    cnt=ws.specialfolders.count             '### Obtention du nombre de dossiers spéciaux   
     
    For I=0 to cnt-1  ' Boucle pour traiter tous les SpecialFolders
         '## Gestion des erreurs au cas où...
         On Error Resume Next
         if err then msgbox err.description
     
         strDesktop = fd 'une autre variante de [WS.SpecialFolders("DeskTop") & "\FOLD"]
         prg=WS.SpecialFolders(I) ' ###Obtention du dossier spécial n° i
         Prg1=WS.SpecialFolders(I)' idem
         Prg1=Left(prg1,instrrev(prg1,"\"))  '### Retourne l'arborescence jusqu'à l'avant-dernier 
    '###dossier pour l'utiliser comme dossier cible
         prg=Right(prg,len(prg)-instrrev(prg,"\"))'### Retourne le dernier dossier de l'arborescence 
    '###pour utiliser son nom comme raccourci.
         Set oMyShortCut = WS.CreateShortcut(strDesktop & "\" & prg & ".lnk")
         oMyShortCut.TargetPath = WS.SpecialFolders(I) '###Chemin Complet
         oMyShortCut.Hotkey = "ALT+CTRL+" & Ucase(Left(prg,1))  ' ###Touche de raccourci
         oMyShortCut.WorkingDirectory=Prg1   ' ###Dosssier de travail
         oMyShortCut.Save  '###Sauvegarde du raccourci
    Next
    ' ######## Nettoyage de l'environnement ########
    Set WS=Nothing
    Set FSO= Nothing
    Wscript.Quit
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  9. #9
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2010
    Messages : 42
    Par défaut
    bonjour,

    ok merci as-tu vue l'image que j'ai attaché à ma réponse précédente
    et est-ce que avec ton script on peut fair la même chose avec word excel
    et outlook

  10. #10
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Tout à fait sous condition d'indiquer le chemin d'accès de chaque dossier ou fichier.
    Dans le script suivant, tu peux remplacer les valeurs de tb() par celles qui te conviennent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Option Explicit
    Dim WS, strDesktop, oMyShortCut,FSO,Fd
    dim I,cnt,Prg,Prg1,myFolder,tb(6)
    tb(1)="C:\Program Files\API-Guide\API-Guide.exe"
    tb(2)="C:\Program Files\Microsoft Visual Studio\VB98\VB6.exe"
    tb(3)="C:\Program Files\Microsoft Windows Script\ScriptDocs\Script56.CHM"
    tb(4)="C:\Documents and Settings\HP_Propriétaire\Mes documents"
    tb(5)="C:\Program Files\Internet Explorer\iexplore.exe"
    tb(6)="Poste de travail.{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
     
    set Fso=CreateObject("Scripting.FileSystemObject")
    set WS=WScript.CreateObject("WScript.Shell")
    myFolder=WS.SpecialFolders("DeskTop")       
      If Not FSO.FolderExists(myFolder & "\FOLD") Then
       set Fd=FSO.CreateFolder(myFolder & "\FOLD") 
      Else : Set Fd=FSO.GetFolder(myFolder & "\FOLD") 
      End If
     
    For I=1 to 5  
         On Error Resume Next
         if err then msgbox err.description
         strDesktop = fd 
         prg=tb(I) 
         Prg1=tb(I)
         Prg1=Left(prg1,instrrev(prg1,"\")) 
         prg=Right(prg,len(prg)-instrrev(prg,"\"))
         Set oMyShortCut = WS.CreateShortcut(strDesktop & "\" & prg & ".lnk")
         oMyShortCut.TargetPath = tb(I) 
         oMyShortCut.Hotkey = "ALT+CTRL+" & Ucase(Left(prg,1))  
         oMyShortCut.WorkingDirectory=Prg1   
         oMyShortCut.Save  
    Next
    set fd=Fso.CreateFolder(Fd & "\" & tb(6))
    Set WS=Nothing
    Set FSO= Nothing
    Wscript.Quit
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  11. #11
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2010
    Messages : 42
    Par défaut
    bonjour,

    d'accord merci j'ai une autre question ce script
    fonctionne t-il avec Vista et Seven et vue que je
    dois déployer ce script sur chaque nouvel machine
    est-ce que ce script prend comme argument le nom
    de login du profil

  12. #12
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    ce script fonctionne t-il avec Vista et Seven ....
    Je ne l'ai pas testé sur ces OS mais il devrait marcher si tu indiques bien le contenu des variables tb().
    Par exemple, tu peux remplacer tb(4) par :
    tb(4)="%userprofile%\Mes documents"
    "%UserProfile%" : indique la session en cours c-à-d :
    X:\Documents And Settings\Nom_Utilisateur (si la session se trouve sur le lecteur X)
    ce script prend comme argument le nom de login du profil
    Tel qu'il est non; il faudra le modifier pour y arriver.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  13. #13
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2010
    Messages : 42
    Par défaut
    bonjour,

    ok merci et comme je suis sous AD ce que tu me donner
    ça fonctionne aussi.
    autre chose j'ai éssayer ton script c'est presque ça sauf
    que mes document devient un raccourcie alor que aux démarage
    il faut savoir qu'il n'y a aucun icône et que quand on fait clique droit
    propriété bureau personalisation du bureau on voit apparaître élément
    du bureau et dessus on peut cliquer sur les icône que l'on veut sur le bureau
    ces ce genre d'icône que je veux qui ce déploit à l'ouverture de ton script
    voila est-ce que c'est possible.

  14. #14
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Option Explicit
    Dim WS, strDesktop, oMyShortCut,FSO,Fd
    dim I,cnt,Prg,Prg1,myFolder,tb(5)
     
    tb(1)="Corbeille.{645FF040-5081-101B-9F08-00AA002F954E}"
    tb(2)="Favoris Réseau.{208D2C60-3AEA-1069-A2D7-08002B30309D}"
    tb(3)="Poste de travail.{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
     
    tb(4)="%userprofile%\Mes documents"
    tb(5)="C:\Program Files\Internet Explorer\iexplore.exe"
     
    on error resume next
    set Fso=CreateObject("Scripting.FileSystemObject")
    set WS=WScript.CreateObject("WScript.Shell")
    myFolder=WS.SpecialFolders("DeskTop")       
      If Not FSO.FolderExists(myFolder & "\FOLD") Then
       set Fd=FSO.CreateFolder(myFolder & "\FOLD") 
      Else : Set Fd=FSO.GetFolder(myFolder & "\FOLD") 
      End If
     
    For I=4 to 5  
         On Error Resume Next
         if err then msgbox err.description
         strDesktop = fd 
         prg=tb(I) 
         Prg1=tb(I)
         Prg1=Left(prg1,instrrev(prg1,"\")) 
         prg=Right(prg,len(prg)-instrrev(prg,"\"))
         Set oMyShortCut = WS.CreateShortcut(strDesktop & "\" & prg & ".lnk")
         oMyShortCut.TargetPath = tb(I) 
         oMyShortCut.Hotkey = "ALT+CTRL+" & Ucase(Left(prg,1))  
         oMyShortCut.WorkingDirectory=Prg1   
         oMyShortCut.Save  
    Next
    dim newFold
    For i=1 to 3
       set newFold=Fso.CreateFolder(Fd & "\" & tb(i))
    Next      
    ' ######## Nettoyage de l'environnement ########
    Set WS=Nothing
    Set FSO= Nothing
    Wscript.Quit
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  15. #15
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2010
    Messages : 42
    Par défaut
    bonjour,

    c'est génial mais j'aimerais la même chose que poste de travail
    et autre sur mes documents et sur IE après tu va dire que je suis
    embétant mais j'aimerais la même chose sans avoir à crée le dossier
    fold et donc quand on éxécute le script ça les crée directement sur le bureau

  16. #16
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    après tu va dire que je suis embétant mais
    Je ne dirais rien de tel car personne ne m'a obligé de répondre. Je répondrai à toute question dans la limite de mes possibilités.
    Pour déployer les raccourcis directement sur le bureau il suffit de modifier le code pour ne plus avoir à créer le dossier FOLD:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Option Explicit
    Dim WS, strDesktop, oMyShortCut,FSO,Fd
    dim I,cnt,Prg,Prg1,myFolder,tb(5)
     
    tb(1)="Corbeille.{645FF040-5081-101B-9F08-00AA002F954E}"
    tb(2)="Favoris Réseau.{208D2C60-3AEA-1069-A2D7-08002B30309D}"
    tb(3)="Poste de travail.{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
     
    tb(4)="%userprofile%\Mes documents"
    tb(5)="C:\Program Files\Internet Explorer\iexplore.exe"
     
    on error resume next
    set Fso=CreateObject("Scripting.FileSystemObject")
    set WS=WScript.CreateObject("WScript.Shell")
    myFolder=WS.SpecialFolders("DeskTop")       
     ' If Not FSO.FolderExists(myFolder & "\FOLD") Then
     '  set Fd=FSO.CreateFolder(myFolder & "\FOLD") 
     ' Else : Set Fd=FSO.GetFolder(myFolder & "\FOLD") 
     ' End If
     
    For I=4 to 5  
         On Error Resume Next
         if err then msgbox err.description
         strDesktop = myFolder 
         prg=tb(I) 
         Prg1=tb(I)
         Prg1=Left(prg1,instrrev(prg1,"\")) 
         prg=Right(prg,len(prg)-instrrev(prg,"\"))
         Set oMyShortCut = WS.CreateShortcut(strDesktop & "\" & prg & ".lnk")
         oMyShortCut.TargetPath = tb(I) 
         oMyShortCut.Hotkey = "ALT+CTRL+" & Ucase(Left(prg,1))  
         oMyShortCut.WorkingDirectory=Prg1   
         oMyShortCut.Save  
    Next
    dim newFold
    For i=1 to 3
       set newFold=Fso.CreateFolder(myFolder & "\" & tb(i))
    Next      
    ' ######## Nettoyage de l'environnement ########
    Set WS=Nothing
    Set FSO= Nothing
    Wscript.Quit
    Mais l'embêtant est que l'icône "Favoris Réseau" ne sera pas affichée sur le bureau(elle existe dans le dossier ..\Documents And Settings\UserName\Bureau) bizarre non !
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  17. #17
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Bon, je viens de trouver une autre solution en plus de celle déjà évoquée plus haut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Option Explicit
    Const DestKey="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel\"
    Dim lRet,RegVal,Msg,WS,strDesktop
    Set WS = WScript.CreateObject("WScript.Shell")
    Msg="Souhaitez-vous afficher les éléments suivants sur le bureau ?" _
         & vbcrlf & Ucase("Poste de travail") _
         & VbCrLf & uCase("Mes Documents") & VbCrLf & Ucase("Favoris Réseau") _
         & VbCrLf & Ucase("Internet Explorer") 				          ' ligne 5
    lRet= MsgBox(Msg,VbYesNoCancel,"Raccourcis bureau")				  ' ligne 6
    If lRet=VbYes then
       RegVal="0"
    ElseIf lRet=VbNo Then
       RegVal="1"
    ElseIf lRet=VbCancel Then
       Wscript.Quit
    End If									' ligne 13
    WS.RegWrite DestKey & "{20D04FE0-3AEA-1069-A2D8-08002B30309D}",RegVal,"REG_DWORD"  ' Poste de travail
    WS.RegWrite DestKey & "{450D8FBA-AD25-11D0-98A8-0800361B1103}",RegVal,"REG_DWORD"  ' Mes documents
    WS.RegWrite DestKey & "{208D2C60-3AEA-1069-A2D7-08002B30309D}",RegVal,"REG_DWORD"  ' Favoris Réseau
    WS.RegWrite DestKey & "{871C5380-42A0-1069-A2EA-08002B30309D}",RegVal,"REG_DWORD"  ' IE pour XP 
    WS.RegWrite DestKey & "{645FF040-5081-101B-9F08-00AA002F954E}",RegVal,"REG_DWORD"  ' Corbeille		'  ligne 18
     
    ws.run "%Windir%\System32\rundll32.exe USER32.DLL,UpdatePerUserSystemParameters 0",1,1			' ligne 20
    Mais cela nécessite, après exécution du script, d'appuyer sur la touche F5 (en ayant activé au préalable le bureau par clic sur un zone vide de celui-ci)
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  18. #18
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2010
    Messages : 42
    Par défaut
    bonjour,

    merci ton script c'est exactement ce que je veux sauf
    que j'ai une érreur à l'exécution
    ligne: 2
    caract. : 7
    erreur: identificateur attendu
    code: 800A03F2
    source: erreur de compilation Microsoft VBscript

  19. #19
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    un saut de ligne en trop :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Const DestKey="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewSta

  20. #20
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Citation Envoyé par bbil Voir le message
    un saut de ligne en trop :
    Tout à fait, c'est dû à "copier/coller" et je ne m'en suis pas rendu compte.
    Merci bibil
    La valeur correcte est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Const DestKey="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel\"
    ' ou un peu plus court :
    Const DestKey="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel\"
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

Discussions similaires

  1. application installant un raccourci sur le bureau
    Par ricotrutt dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 24/07/2006, 16h23
  2. raccourcis sur le bureau
    Par Galkir dans le forum C++Builder
    Réponses: 9
    Dernier message: 23/06/2006, 12h26
  3. Créer un raccourci sur le bureau
    Par NdmaX dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/04/2006, 18h21
  4. Raccourci sur le bureau
    Par AlDel dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 07/03/2005, 18h07
  5. Raccourci sur le bureau
    Par senateur dans le forum Langage
    Réponses: 7
    Dernier message: 05/09/2002, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo