Lancer .exe avec vb sans "C:/"

Résolu
Bonjour,
voici mon problème,
je suis en train de crée un launcher pour un jeu, a première vu sa a l'air facile Shell("C:\Dossier du jeu\jeu.exe")
Mais sauf que moi le launcher va être avec le jeu et quand les personnes vont vouloir le lancer le jeu ne va peut-être pas avoir le même chemin que moi ^^
donc j’aimerai savoir si quelqu'un pourrai m'aider
peut on trouver les jeu sans faire "C:/......" ou soit que si au premier lancement il ne trouve pas le jeu, il ouvre une fenêtre qui demande de choisir le .exe
et que sa sauvegarde le chemin pour évite que sa le fasse a chaque fois
Merci
Cordialement
Ps : je débute en programmation donc je comprend pas tout ^^ Encore Merci

5 réponses

  1. Bonsoir,

    afin de pouvoir de répondre, il faut préciser la version de VB, par exemple Shell n'existe plus en VB.net.

    0
    1. Oups desoler ^^
      je suis sur .NET 2015
      j'avais pris une ancienne version ^^
      mais j'ai quand même mon probleme ^^
      Merci
      0
      1. Ok,

        alors pour savoir si un chemin de fichier existe, il faut utiliser la classe File et sa méthode Exists
        https://docs.microsoft.com/fr-fr/dotnet/api/system.io.file.exists?redirectedfrom=MSDN&view=netframework-4.8

        Si oui, pour lancer ce fichier, il faut utiliser Process.Start
        https://docs.microsoft.com/fr-fr/dotnet/api/system.diagnostics.process.start?redirectedfrom=MSDN&view=netframework-4.8

        Si non, il faut le chercher, en utilisant par exemple un OpenFileDialog, si tu es en Winform
        https://docs.microsoft.com/fr-fr/dotnet/api/system.windows.forms.openfiledialog?redirectedfrom=MSDN&view=netframework-4.8

        Pour stocker ton chemin (par défaut ou le nouveau), tu peux utiliser le fichier de config (App.Config), un xml https://codes-sources.commentcamarche.net/faq/11196-linq-to-xml-c-et-vb-net un txt (avec File.Write, ou un streamwriter), etc...
        0
        1. Merci , vraiment merci je cherche depuis tal heure :D
          0
        2. De rien, passe le sujet résolu, si cela te convient
          0
        3. Mais comme je ne suis pas fort en !VB y'aurai t-il moyen que tu m'aide pour formuler tout sa ?
          0
      2. Bonsoir

        			Dim xdoc As XDocument = XDocument.Load("test xml.xml")
        			Dim monChemin As String = xdoc.Element("Chemin").Value
        
        			If File.Exists(monChemin) Then
        				'Lancer le jeu
        				Process.Start(monChemin)
        			Else
        				'option 1 ouvrir une boite de dialog
        
        				If openFileDialog1.ShowDialog() = DialogResult.OK Then
        					monChemin = openFileDialog1.FileName 'extraction du chemin
        					xdoc.Element("Chemin").Value = monChemin
        					xdoc.Save("test xml.xml") 'sauvegarde dans le xml
        				Else
        					MessageBox.Show("Action annulée")
        				End If
        
        			End If


        Avec le fichier xml
        <?xml version="1.0" encoding="utf-8" ?>
        <Chemin>C:\toto\toto.exe</Chemin>
        

        0
        1. Merci ^^
          Mais je suis vraiment nul en VB , peut tu etre plus precis y'a t-il des trucs a changer ? Lequel ?
          le : <?xml version="1.0" encoding="utf-8" ?>
          <Chemin>C:\toto\toto.exe</Chemin>
          je le place ou ?
          Je te remercie pour ton aide :D
          Cordialement
          0
        2. Répéter que tu es nul, n'est pas une excuse pour ne pas faire des efforts.

          Plus haut, je t'ai mis de nombreux liens, vers l'aide en ligne de microsoft, les as tu lu?

          Quand tu demandes ou placer le contenu du fichier xml, et bien dans le fichier xml, as-tu au moins regardé ce que cela peut être?

          Il y a un lien que h'ai oublié:
          https://plasserre.developpez.com/cours/vb-net/ lis le entier, refait les exemples. Et on en reparle
          0
        3. j'ai crée ce topic pour le bouton "jouer"
          mais vu que je suis tout nouveau sur VB je ne connais pas trop ^^
          Je suis aller sur les liens que vous m'aviez donné mais cela ma juste montrer la syntaxe et quelque notes mais je n'ai pas tout tout compris.
          je n'ai pas ta connaissance en la matière.
          je te remercie de m'avoir aider
          Sur ce, Bonne soirée.
          PS: Merci pour le lien je vais y faire un tour ^^ mais je ne veux pas tout apprendre sur VB a la base c'est juste pour un launcher, et je ne vais pas passer mon temps dessus.
          0
        4. Bonjour, programmer ça ne tombe pas du ciel, ça s'apprend.
          Si tu ne te sens pas capable d'apprendre, tu peux faire un raccourci sur le bureau, c'est le premier launcher qui soit.

          Pour rappel, ce forum n'est pas là pour faire ton travail à ta place, mais pour te donner des pistes pour y arriver toi même.
          0
        5. Mais je veut pas apprendre entièrement le VB mais juste pour le launcher , on a pas besoins de tout apprendre le VB pour un launcher ....
          0
      3. Sauf que dans la vraie vie, et pour un jeu, un launcher n'a que peu d'utilité.
        En effet, il est dans l'intérêt de l'éditeur du jeu (qui lui sait programmer) que son jeu soit le plus accessible possible, donc dans la procédure d'installation, il prévoit, un raccourci sur le bureau et/ou dans le menu démarrer.

        Je ne voies que deux grandes raisons pour faire un launcher:
        • apprendre à manipuler / executer des fichiers par le code, et j'ai répondu dans ce sens, car il me plait de partager de la connaissance.
        • tenter de contourner les sécurités du logiciel, c'est illégal et contraire à la charte de CCM.


        Puisque tu ne veux pas apprendre, je n'ai pas de raison de continuer à t'aider.
        0
        1. Ce n'est pas que je ne n'est pas envie d'apprendre , c'est juste que la le launcher c'est urgent et la je n'ai pas assez de temps pour tout apprendre du VB
          0