Partage
  • Partager sur Facebook
  • Partager sur Twitter

Inserer un executable dans un form Visual Basic

    20 décembre 2018 à 0:23:46

    Bonjour,

    J'ai un form VB et une application compilée (genre application.exe)

    J'aimerai savoir s'il est possible de l'integrer dans le windows Form.

    Je sais que l'on peut faire 

    Process.Start(Application.StartupPath() + "\application.exe")
    

    Mais cela implique que l'application soit à coté, et j'aimerai qu'elle soit intégré, qu'il n'y ai qu'un seul executable propre pour mon form.

    Merci d'avance:zorro:

    • Partager sur Facebook
    • Partager sur Twitter
    🐷 Le cochon de trop c'est celui qui cours après ta souris vers 5h du matin ...
      20 décembre 2018 à 8:10:46

      Pourquoi vouloir faire ça ?

      Sinon à voir du côté des ressources de projet, je te laisse chercher des infos là dessus (dans la documentation ou autre)

      • Partager sur Facebook
      • Partager sur Twitter
      Censément, quelqu'un de sensé est censé s'exprimer sensément.
        20 décembre 2018 à 15:51:15

        En fait je veux simplement ajouter pleins de petites applications à une form "couteau-suisse", mais j'aimerai si possible ne garder qu'un exécutable propre.

        Je vais regarder :-)

        • Partager sur Facebook
        • Partager sur Twitter
        🐷 Le cochon de trop c'est celui qui cours après ta souris vers 5h du matin ...
          27 décembre 2018 à 22:06:21

          Bonjour,

          Alors faute de mieux, voici la solution que j'ai trouvé :

          Créer un executable à partir de mon fichier en ressources, le lancer puis le supprimer :

          My.Computer.FileSystem.WriteAllBytes(Path.GetTempPath & "\EclairTemp.exe", My.Resources.eclair, False)
          Shell(Path.GetTempPath & "\EclairTemp.exe")

          Le problème, c'est que pour le supprimer je n'ai rien trouvé de mieux que de faire un thread qui va tenter jusqu'a que ça marche.

          Dim opened = True
          While (opened)
                      Try
                          My.Computer.FileSystem.DeleteFile(filepath)
                          opened = False
                      Catch
                      End Try
          End While

          Il n'y a aucun moyen d'attendre la fermeture d'un programme ou d'un processus (vu que Shell renvoie l'id du processus) ?

          2e probleme avec un fichier txt en ressources. De meme pour le lire aucun probleme.

          My.Computer.FileSystem.WriteAllText(Path.GetTempPath + "\TexteTemp.txt", My.Resources.Texte, False)
          Process.Start(Application.StartupPath() + "\TexteTemp.txt")

          De même, demi-soucis pour le supprimer, mais surtout vrai problème lors de l'enregistrement des données du txt temporaire : 

          Je récupère un string :

                  Dim save = My.Computer.FileSystem.ReadAllText(Path.GetTempPath + "\TexteTemp.txt")

          mais je ne vois pas comment l'enregistrer dans les ressources.

          Merci d'avance

          -
          Edité par Unreal Phoenix 27 décembre 2018 à 22:07:43

          • Partager sur Facebook
          • Partager sur Twitter
          🐷 Le cochon de trop c'est celui qui cours après ta souris vers 5h du matin ...
            3 janvier 2019 à 13:45:29

            >Il n'y a aucun moyen d'attendre la fermeture d'un programme ou d'un processus

            Si, mais franchement, c'est vraiment se compliquer la vie pour rien.

            Tu fais un projet de déploiement qui contient tout ton fatras et hop, tout est bien rangé après installation.

            (Sans compter les avantages au niveau sécurité, anti-virus relou, gestion des mises à jours, etc...)

            • Partager sur Facebook
            • Partager sur Twitter
            Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

            Inserer un executable dans un form Visual Basic

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown