locked
Insérer son application dans la TasBar ! RRS feed

  • Question

  • Bonjour,

    J'ai lu beaucoup de topic et je connais le dossier ou doit se trouver le raccourci ainsi que la clé valeur RZ_BINARY qui le renseigne.

    J'ai testé les scripts proposés et pourtant je n'arrive pas à une solution satisfaisante.

    Existe t'il un script de commande qui permettrait de le faire automatiquement soit simuler la commande du menu "Epingler dans la barre de tâche".

    Un simple exemple avec la calculatrice suffirait et que je pourrai modifier par la suite.

    Merci d'avance,

    Max

    jeudi 29 décembre 2011 09:47

Réponses

  • Le jeudi 29/12/2011 10:47:10, cincap1953 a écrit dans le message <news:fae6881c-443a-4e95-afce-341da672f312@communitybridge.codeplex.com> ce qui suit :

    Bonjour,

    J'ai lu beaucoup de topic et je connais le dossier ou doit se trouver le raccourci ainsi que la clé valeur RZ_BINARY qui le renseigne.

    J'ai testé les scripts proposés et pourtant je n'arrive pas à une solution satisfaisante.

    Existe t'il un script de commande qui permettrait de le faire automatiquement soit simuler la commande du menu "Epingler dans la barre de tâche".

    Un simple exemple avec la calculatrice suffirait et que je pourrai modifier par la suite.

    J'ai écrit un script EPINGLE.VBS qui fait cela nasodigitalement !
       Script de création de raccourci
      épinglé dans la barre de tâches
      JCB © 2011
      --------------------------------------------
      Syntaxe :
         Epingle [<\\machine\partage>]<fichier> [<dossier_démarrage>]
            NB: si <dossier_de_démarrage> est omis,
            le dossier du fichier est retenu
         Epingle [<\\machine\partage>]<dossier>
     http://www.bellamyjc.org/fr/vbsdownload.html#epingle



    May the Force be with You!
    La Connaissance s'accroît quand on la partage
    ----------------------------------------------------------
    Jean-Claude BELLAMY [MVP Expert IT Pro]
    http://www.bellamyjc.org  ou http://jc.bellamy.free.fr

    • Proposé comme réponse arch21Editor jeudi 29 décembre 2011 15:12
    • Marqué comme réponse arch21Editor jeudi 29 décembre 2011 16:43
    jeudi 29 décembre 2011 15:02

Toutes les réponses

  • Le jeudi 29/12/2011 10:47:10, cincap1953 a écrit dans le message <news:fae6881c-443a-4e95-afce-341da672f312@communitybridge.codeplex.com> ce qui suit :

    Bonjour,

    J'ai lu beaucoup de topic et je connais le dossier ou doit se trouver le raccourci ainsi que la clé valeur RZ_BINARY qui le renseigne.

    J'ai testé les scripts proposés et pourtant je n'arrive pas à une solution satisfaisante.

    Existe t'il un script de commande qui permettrait de le faire automatiquement soit simuler la commande du menu "Epingler dans la barre de tâche".

    Un simple exemple avec la calculatrice suffirait et que je pourrai modifier par la suite.

    J'ai écrit un script EPINGLE.VBS qui fait cela nasodigitalement !
       Script de création de raccourci
      épinglé dans la barre de tâches
      JCB © 2011
      --------------------------------------------
      Syntaxe :
         Epingle [<\\machine\partage>]<fichier> [<dossier_démarrage>]
            NB: si <dossier_de_démarrage> est omis,
            le dossier du fichier est retenu
         Epingle [<\\machine\partage>]<dossier>
     http://www.bellamyjc.org/fr/vbsdownload.html#epingle



    May the Force be with You!
    La Connaissance s'accroît quand on la partage
    ----------------------------------------------------------
    Jean-Claude BELLAMY [MVP Expert IT Pro]
    http://www.bellamyjc.org  ou http://jc.bellamy.free.fr

    • Proposé comme réponse arch21Editor jeudi 29 décembre 2011 15:12
    • Marqué comme réponse arch21Editor jeudi 29 décembre 2011 16:43
    jeudi 29 décembre 2011 15:02
  • Bonsoir,

    Merci de votre réponse.

    J'ai téléchargé le fichier vbs et je compte le lancer avec une application Delphi genre "Shellexecute", mais je ne vois pas comment lui indiquer (avec votre fichier) que j'aimerai épingler par exemple Monprojet.exe qui se trouve dans C:\Data\Monprojet.exe.

    Excusez moi de mon ignorance, je suis plutôt orienté Delphi 6 à mes moments perdus.

    Merci de votre précieuse aide.

    Max

    jeudi 29 décembre 2011 16:33
  • Après des essais, j'ai constaté que deux raccourci de mon projet se créait dans "Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar" et un dans la Tasbar ce qui est correct.

    Ma ligne de commande est dans "Exécuter" :  "C:\Data\Delphi\Barre de tache\JM\Bellamy\Epingle.vbs" Project1.exe

    Y a t'il un moyen de créer avec votre fichier Vbs, un fichier Wsf pour éviter l'affichage de l'épinglage.

    Sinon merci de l'existance de cette solution;

    Cordialement,

    Max

    jeudi 29 décembre 2011 17:32
  • Le jeudi 29/12/2011 17:33:45, cincap1953 a écrit dans le message <news:ca6ac1cb-a71f-4736-bd32-f17bf95770cd@communitybridge.codeplex.com> ce qui suit :

    Bonsoir,

    Merci de votre réponse.

    J'ai téléchargé le fichier vbs et je compte le lancer avec une application Delphi genre "Shellexecute", mais je ne vois pas comment lui indiquer (avec votre fichier) que j'aimerai épingler par exemple Monprojet.exe qui se trouve dans C:\Data\Monprojet.exe.

    Excusez moi de mon ignorance, je suis plutôt orienté Delphi 6 à mes moments perdus.

    Moi aussi je suis un adepte "forcené" de DELPHI ! ;-)

    L'intérêt de mon script est qu'il se lance depuis une fenêtre de commande, dans un batch (.cmd, .bat, ...)

    Si tu veux réaliser cette opération depuis un programme Delphi, il serait plus intéressant (et surtout plus performant) de faire appel directement aux API ShlObj, ComObj, ...
     Mais l'exécution d'un VBS dans un programme Delphi est très simple (avec la fonction "ShellExecuteEx" p.ex.).

    Exemple :
     uses shellAPI,.......
     var
     SEInfo: TShellExecuteInfo;
     cscript,vbs,appli : string;
     RunOK : boolean;

    begin
    ....
    // la variable "appli" contient le nom du fichier ou dossier
    // que l'on veut épingler.

    // On peut finasser en récupérant le contenu de la
    // variable d'environnement %systemroot%
    cscript:='c:\windows\system32\cscript.exe';

    vbs:='d:\outils\vbs\epingle.vbs';

    FillChar(SEInfo,SizeOf(SEInfo),0);
    SEInfo.cbSize := SizeOf(TShellExecuteInfo);
    with SEInfo do
      begin
      fMask:=SEE_MASK_NOCLOSEPROCESS;
      Wnd:=Application.Handle;
      //exécutable à lancer
      lpFile:=PChar(cscript);
      //paramètres = nom du script + paramètres passés au script
      lpParameters:=PChar(vbs+' '+appli);
      nShow:=SW_HIDE;
      end;
    RunOK:=ShellExecuteEx(@SEInfo);
    ...



    May the Force be with You!
    La Connaissance s'accroît quand on la partage
    ----------------------------------------------------------
    Jean-Claude BELLAMY [MVP Expert IT Pro]
    http://www.bellamyjc.org  ou http://jc.bellamy.free.fr

    jeudi 29 décembre 2011 19:53
  •  

    Y a t'il un moyen de créer avec votre fichier Vbs, un fichier Wsf pour éviter l'affichage de l'épinglage.

     

    Max


    Bonsoir à tous ,

    J ai fait une recherche sur une réponse que j avais apporté à mes début sur ce forum :

    En complément d information ,cette solution est elle applicable pour résoudre votre problème

    "Script batch devant s'exécuter de manière invisible" sur le lien suivant :

    http://social.technet.microsoft.com/Forums/fr-FR/1124/thread/40a900e7-0faa-4223-bfc6-5bee4d31e109

     

    Cordialement

    jeudi 29 décembre 2011 20:27
    Auteur de réponse
  •  

    Y a t'il un moyen de créer avec votre fichier Vbs, un fichier Wsf pour éviter l'affichage de l'épinglage.

     

    Max


    Bonsoir à tous ,

    J ai fait une recherche sur une réponse que j avais apporté à mes début sur ce forum :

    En complément d information ,cette solution est elle applicable pour résoudre votre problème

    "Script batch devant s'exécuter de manière invisible" sur le lien suivant :

    http://social.technet.microsoft.com/Forums/fr-FR/1124/thread/40a900e7-0faa-4223-bfc6-5bee4d31e109

     

    Cordialement


    En ce qui concerne la solution indiquée dans cette discussion, il existe infiniment plus SIMPLE !!!!!!

    C'est à croire que les SHADOKS sont de retour, avec leur sacro-saint principe "Pourquoi faire simple quand on peut faire compliqué!" ;-)

     

    Pour avoir une copie silencieuse d'un fichier, il suffit de rediriger le flux standard de sortie vers ... nul

    A savoir :  copy filename1 filename2 > nul

    C'est tout, rien d'autre, pas d'astuce-qui-tue, rien que de la syntaxe de la ligne de commande datant ... d'un quart de siècle déjà !!!

     

     

    jeudi 29 décembre 2011 21:50
  • Après des essais, j'ai constaté que deux raccourci de mon projet se créait dans "Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar" et un dans la Tasbar ce qui est correct.

    Ma ligne de commande est dans "Exécuter" :  "C:\Data\Delphi\Barre de tache\JM\Bellamy\Epingle.vbs" Project1.exe

    Y a t'il un moyen de créer avec votre fichier Vbs, un fichier Wsf pour éviter l'affichage de l'épinglage.

    Sinon merci de l'existance de cette solution;

    Cordialement,

    Max

    Au choix :

    • lancer le script avec Cscript.exe et rediriger les sorties vers "nul" :
      Cscript "C:\Data\Delphi\Barre de tache\JM\Bellamy\Epingle.vbs" Project1.exe > nul

    • lancer le script avec Wscript.exe  en ayant au préalable supprimé dans le script les instructions "wscript.echo ..." (p.ex. en les transformant en commentaires avec le préfixe "REM" devant)

     

    NB: Un fichier WSF peut contenir plusieurs sources en différents langages, et a une gestion améliorée des paramètres par rapport à un VBS.
    La différence s'arrête là et ce n'est pas en passant de VBS à WSF qu'on changera l'affichage !!!

    jeudi 29 décembre 2011 22:07
  • Bonjour Jean Claude ,

    Merci pour le retour d information

     

    Cordialement

    vendredi 30 décembre 2011 07:29
    Auteur de réponse
  • Bonjour à tous,

    Merci à JCB pour ces précisions bien commentées et suggestions.

    Avant de poster sur ce forum riche en idées, il faut dire qu'avec Delphi j'avais réussi à créer le raccourci dans le dossier "Taskband", mais invisible dans la barre de tâche, je pourrai peut être vous soumettre par mail, ma source et à vos moments perdus voir ce que j'ai oublié ou mal fait (mon email: ).

    J'ai essayé d'adapter le script en ajoutant "nul" mais alors message d'erreur qui indique que le fichier n'existe pas.

    Il faut reconnaître que le fichier Epingle.vbs est surprenant à tout point de vue et grand merci à JCB pour l'avoir élaboré.

    Je profite de l'occasion pour vous adressez ainsi qu'à vos familles mes meilleurs voeux pour 2012.

    Cordialement,

    Max

     

     


    • Modifié Florin Ciuca mardi 3 janvier 2012 08:20 merci de ne pas partager votre email
    vendredi 30 décembre 2011 09:16
  • @ JCB, chôse étrange, avec ton code pour Delphi suggéré plus haut, lorsque je teste l'application depuis Delphi dans le dossier "test", cela fonctionne mis à part qu'il me crèe deux raccourcis ex: project1 et project1(2) comme avant même avec mon code.

    Si je déplace l'exécutable du dossier "test" avec le fichier "epingle.vbs" et le fichier à épingler, cela ne fonctionne plus avec ton code mais bien avec le mien mis à part les deux raccourcis créés :

    chappli = répertoire de l'application et edit1 = le chemin du dossier avec le fichier à épingler

    ex: ShellExecute(Handle,'open', pchar(chappli +'Epingle.vbs'),PChar(edit1.text),nil,SW_HIDE);

    Y a t'il une raison ?

    Merci d'avance,

    Max

     

    vendredi 30 décembre 2011 12:38
  • Bonsoir à tous,

    Le problème rencontré venait du chemin du dossier du fichier à épingler.

    Concernant l'excellent fichier "Epingle.vbs" de JCB, il faut noter que les dossiers portant un nom avec un espace exemple "Mon dossier" ne sera pas pris en compte, celui-çi sera pris en compte "Mondossier".

    Et toujours la création de deux raccourcis dans le répertoire "User Pinned\TaskBar".

    Peut être un doublon de code dans le fichier "Epingle.vbs" ?

    J'ose espérer une petite solution en Delphi si je peux envoyer mon test à JCB.

    Cordialement,

    Max

    vendredi 30 décembre 2011 19:18
  • Le vendredi 30/12/2011 20:18:20, cincap1953 a écrit dans le message <news:39e6015b-7c07-4cf3-80b4-c276a8976a3d@communitybridge.codeplex.com> ce qui suit :

    Bonsoir à tous,

    Le problème rencontré venait du chemin du dossier du fichier à épingler.

    Concernant l'excellent fichier "Epingle.vbs" de JCB, il faut noter que les dossiers portant un nom avec un espace exemple "Mon dossier" ne sera pas pris en compte, celui-çi sera pris en compte "Mondossier".

    Et toujours la création de deux raccourcis dans le répertoire "User Pinned\TaskBar".

    Peut être un doublon de code dans le fichier "Epingle.vbs" ?

    J'ose espérer une petite solution en Delphi si je peux envoyer mon test à JCB.

    Tu peux m'écrire à Jean-Claude.Bellamy(AROBASE)wanadoo.fr

    Je regarde du côté de mon script (le pb des espaces se résout généralement à coup de guillemets).



    May the Force be with You!
    La Connaissance s'accroît quand on la partage
    ----------------------------------------------------------
    Jean-Claude BELLAMY [MVP Expert IT Pro]
    http://www.bellamyjc.org  ou http://jc.bellamy.free.fr

    vendredi 30 décembre 2011 19:35
  • Bonjour à tous et meilleurs voeux pour 2012.

    A JCB, merci pour les infos sur les guillemets.

    Comme je charge le chemin et dossier sur un TEdit, j'ai ajouter dans mon code Delphi, le guillemet devant le chemin et à la fin.

    Ex: appli := pchar('"'+edit1.text+'"') ;

    Plus de problème avec les noms composés.

    Il reste le petit problème du double de raccourcis dans le dossier "C:\Users\Max\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar" causé par "Epingle.vbs" à mon avis.

    A bientôt,

    Cordialement,

    Max



    lundi 2 janvier 2012 10:47