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

VB.NET Discussion :

Creation launcher, probleme sur certaines applications au lancement .


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Homme Profil pro
    Ouvrier
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ouvrier

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Par défaut Creation launcher, probleme sur certaines applications au lancement .
    Bonjour

    Je suis totalement novice en la matière, je me suis créer un lanceur d'application afin de supprimer tous raccourci du bureau d'une suite de logiciel.

    Rien de bien difficile me direz vous de créer un lanceur d'application malgré diverse façon niveau process.

    -1er souci que je cherche a résoudre:

    Lorsque je lance donc certaine application via le launcher, les applications en question appel certains fichiers ou autre exe pour leur bon fonctionnement.

    Le probleme qui se pose est que ces fichiers appeler par les exe doivent être dans le même dossier que l'exe du lanceur sinon bug.

    Ca ne le fait pas pour tous bizarrement donc je ne comprend pas le pourquoi et j'aimerais que ces fichiers reste dans leur dossier d'origine.

    -2eme souci

    Pour deux logiciels, impossible de faire lancer par le launcher avec le chemin des exe, par contre si je créer un raccourci des exe en questions dans leur dossier respectifs et que je pointe le launcher sur les raccourci, pas de souci.

    exemple du code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Class Form1
        Dim p As New Process
     
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            p.StartInfo.FileName = "chemin.exe.lnk"  (raccourci oblige sinon fonctionne pas)
            p.Start()
        End Sub
    Le launcher compte 19 logiciels, le code pour les differents logiciels est identique a chaque fois que celui ci dessus, et ils fonctionnent donc quasi tous.

    Je suis sous vb10.

    Merci a ceux qui pourront aider un débutant, je sais que ce n'est pas toujours evident d'aider des personnes qui n'ont quasi aucune base.

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Dans un premier temps : pitié ne copie pas autant de fois le code que tu as de logiciels à lancer....... Tu créés une procédure avec comme argument dans sa signature le chemin du logiciel que tu souhaites exécuter, ainsi tu appelles autant de fois la procédure en changeant simplement le nom du logiciel à exécuter, ça s'appelle la factorisation en mathématiques !

    Ensuite ce qu'il serait judicieux de préciser : Donnes un exemple de chemin complet d'un logiciel que tu souhaites exécuter qui fonctionne et un autre qui ne fonctionne pas pour qu'on puisse se rendre compte d'au moins d'une de ces 3 choses :

    - Tu tentes d'exécuter un logiciel qui se situe dans un répertoire qui requiert des droits administrateurs
    - Tu n'as pas paramétrés l'élévation de privilèges dans ton projet
    - Le chemin du programme que tu souhaites exécuter n'est pas correcte.

    A préciser : J'espère que tu ne tentes pas d'exécuter un logiciel avec ce genre de chemin : chemin.exe.lnk ???

    A+

  3. #3
    Inactif  
    Homme Profil pro
    Ouvrier
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ouvrier

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Par défaut
    Bonsoir Wallace1


    Donc tu me dit de créer une procedure avec comme argument le chemin de chaque logiciel mais faut qu'il corresponde au bouton créer.
    C'est pour cela que j'ai refais le meme code a chaque fois mais avec leur bouton associé.

    le chemin du 1er post n'etait qu'un exemple, voici en realité donc:

    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
     
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            p.StartInfo.FileName = "C:\EC-APPS\INPA\BIN\INPALOAD.exe.lnk" (fonctionnel)
            p.StartInfo.FileName = "C:\EC-APPS\INPA\BIN\INPALOAD.exe"      (non fonctionnel)
            p.Start()
     
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
            p.StartInfo.FileName = "C:\EC-APPS\NFS\BIN\winkfpt.exe"   (fonctionnel)
            p.Start()
     
    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
            p.StartInfo.FileName = "C:\Program Files (x86)\ncsdummy\NcsDummy.exe"
            p.Start()
     
    Code fonctionnel mais appel un fichier appeler translation.csv. Si présent dans C:\Program Files (x86)\ncsdummy alors n'arrive pas a l'appeler
    Si present dans le dossier c:\Launcher  alors il reussi a l'appeler chose qui ne m'interesse pas
    Pour l'elevation des privileges, non effectivement pas fait, beaucoup de lecture pour apprendre a faire quelque chose.

    Actuellement en pleine lecture du cours http://plasserre.developpez.com/cour...?page=principe

    Pour l'elevation de privileges, tu parle bien de passer dans le app.manifest asInvoker en requireAdministrator?

    Si oui, je viens de le faire mais cela ne change rien.

  4. #4
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Je doute fort que le programme soit installé à cet emplacement : "C:\EC-APPS\INPA\BIN\INPALOAD.exe" ??????

    Le vrai exécutable doit se trouver dans Programmes ou Program Files(x86) s'il s'agit d'un logiciel que tu as installés.

    Il faut déjà savoir si les programmes que tu veux ajouter dans ton launcheur sont portables ou ont fait l'objet d'une installation via setup d'install ?
    Programmatiquement on vérifie cela dans le registre en énumérant les clés depuis ce chemin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
    et/ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
    Ensuite on lit les données de valeurs suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DisplayName
    DisplayIcon
    DisplayVersion
    Publisher
    InstallLocation
    ...etc......

    Concernant ta problématique de bouton, prenons l'exemple d'un évènement Click de bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Btn as Button = TryCast(Sender, Button)
        Msgbox(Btn.Name & " a été cliqué")
    Ens Sub
    Dans la signature de cette procédure :

    - Sender : concerne l'objet qui a déclenché l'event Click
    - Handles : gère Button1

    Si on modifie le Handles comme suit, alors le click sur button1 ou Button2 entrera dans le corps de cette unique procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click
        Dim Btn as Button = TryCast(Sender, Button)
        Msgbox(Btn.Name & " a été cliqué")
    Ens Sub
    Donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub Buttons_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click
        Dim Btn as Button = TryCast(Sender, Button)
        select case Btn.Name
             case "Button1"
                   Process.Start("C:\Program Files (x86)\Internet Explorer\iexplore.exe")
             case "Button2"
                     Process.Start("C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.exe")
     End Select
    Ens Sub
    Cela permet d'y voir un peu plus clair dans ton projet, il faut prendre l'habitude de ne pas surcharger ton form principal ainsi tu découvriras d'autres notions qui te feront progresser.

    A titre d'exemple bien évidement....

    Arff oui j'ajoute qu'il te faut nommer tes contrôles avec des noms évocateurs car Button1, Button2, Listview1...etc...... c'est vraiment pas terrible.

    ++

  5. #5
    Inactif  
    Homme Profil pro
    Ouvrier
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ouvrier

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Par défaut
    Citation Envoyé par wallace1 Voir le message
    Je doute fort que le programme soit installé à cet emplacement : "C:\EC-APPS\INPA\BIN\INPALOAD.exe" ??????

    Le vrai exécutable doit se trouver dans Programmes ou Program Files(x86) s'il s'agit d'un logiciel que tu as installés.
    Et pourtant c'est bien les bons chemins, ces logiciels sont installé a la racine du c: par l'installateur et ne doivent en aucun cas etre modifié car ils fonctionne de concert avec d'autre logiciels ayant leur propre repertoire aussi.

    Sur tous ces chemins ci dessous donc uniquement le inpa pose souci.

    C:\EC-APPS\INPA\BIN\INPALOAD.exe fonctionne mais les menus disparaisse, fonctionne tres bien si pointé vers raccourci
    C:\NCSEXPER\BIN\NCSEXPER.exe fonctionne normalement
    C:\EC-APPS\NFS\BIN\winkfpt.exe " "
    C:\EDIABAS\Bin\Tool32.exe " "
    C:\EC-Appss\ESG\E-Sys\E-Sys.bat " "

    Je peux faire une video du fonctionnement si necessaire avec et sans le raccourci pour voir ce qu'il se passe.

    Je prend note de la suite sur tes explications et vais regarder cela tranquillement.

    Pour le moment si je te suis, je bloque sur une chose:

    Handles Button1.Click, Handles Button2.Click

    Le handles button1, ok mais au dela, le handles est en erreur: mot clé non valide en tant qu'identificateur.

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Pourquoi pas juste une nouvelle barre d'outils dédiée sur le bureau ?

  7. #7
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Arni320 Voir le message
    Et pourtant c'est bien les bons chemins, ces logiciels sont installé a la racine du c: par l'installateur et ne doivent en aucun cas etre modifié car ils fonctionne de concert avec d'autre logiciels ayant leur propre repertoire aussi.

    Sur tous ces chemins ci dessous donc uniquement le inpa pose souci.

    C:\EC-APPS\INPA\BIN\INPALOAD.exe fonctionne mais les menus disparaisse, fonctionne tres bien si pointé vers raccourci
    C:\NCSEXPER\BIN\NCSEXPER.exe fonctionne normalement
    C:\EC-APPS\NFS\BIN\winkfpt.exe " "
    C:\EDIABAS\Bin\Tool32.exe " "
    C:\EC-Appss\ESG\E-Sys\E-Sys.bat " "
    C'est quoi ce logiciel INPA ?? Ou le télécharger exactement afin que je regarde sur une machine virtuelle ?



    Citation Envoyé par Arni320 Voir le message
    Je peux faire une video du fonctionnement si necessaire avec et sans le raccourci pour voir ce qu'il se passe.
    Tu peux oui.


    Citation Envoyé par Arni320 Voir le message
    Pour le moment si je te suis, je bloque sur une chose:

    Handles Button1.Click, Handles Button2.Click

    Le handles button1, ok mais au dela, le handles est en erreur: mot clé non valide en tant qu'identificateur.
    Oui il faut mettre ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Handles Button1.Click, Button2.Click
    J'ai saisis trop vite dans mon précédent message.

Discussions similaires

  1. Droit superuser sur certaines applications
    Par kishkaya dans le forum Administration système
    Réponses: 3
    Dernier message: 09/10/2008, 13h56
  2. [VBA-E] Probleme sur création menu
    Par norkmassiv dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/12/2006, 17h12
  3. [MetaData] probleme d'acces sur certaines
    Par BainE dans le forum JDBC
    Réponses: 1
    Dernier message: 03/10/2006, 12h01
  4. Probleme sur creation menu popup
    Par biloute2121 dans le forum MFC
    Réponses: 1
    Dernier message: 11/01/2006, 08h41
  5. Réponses: 2
    Dernier message: 17/11/2005, 13h57

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