Creer un exe qui prend des paramètres en entrée

Oreilledelest -  
 oreilledelest -
Bonjour

Tout est dans le titre...
J'ai créé un petit exe en .Net.
Cette appli .Net fait un screenshot et stocke un .gif.
J'ai une autre appli (en java) qui utilise ce .exe.
Le problème est que j'aimerai définir un nom bien précis pour ce .gif.
Je ne sais pas comment faire pour créer un exe en .Net qui prend un argument externe.

Si quelqu'un avait une petite idée...

Merci

4 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Dans ton fichier Program.cs (ou .vb, ou autre...), ta méthode Main doit être définie de la façon suivante :
    static void Main (string[] args)

    Le string[] args est justement le tableau des arguments passés à l'appel de ton exécutable :

    Si tu appelles tonProgramme.exe /var1 var2 --var3
    Tout ce qui est placé après tonProgramme.exe, et séparés par des espaces, se retrouve dans le tableau.
    Donc dans cet exemple, on trouve :
    args[0] = "/var1"
    args[1] = "var2"
    args[2] = "--var3"

    Donc, si tu mets un nom de fichier en argument, tu le retrouves dans args[0], et après tu en fais ce que tu veux.
    Attention aux espaces néanmoins : si ton nom de fichier a des espaces, il faut bien l'entourer de guillemets, sinon tu en retrouveras une partie dans args[0], une autre dans args[1], etc.

    Xavier
    1
  2. Kalissi Messages postés 221 Statut Membre 20
     
    Bonjour,

    Tu n'as qu'a faire une surcharge de ton New avec un paramètre


    #Region "--- Région Constructeurs ---"

    ''' <summary>
    ''' Constructeur pas défaur
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub New()

    ' Cet appel est requis par le Concepteur Windows Form.
    InitializeComponent()

    ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().

    End Sub

    ''' <summary>
    ''' Surcharge du constructeur
    ''' </summary>
    ''' <param name="NomFichier"></param>
    ''' <remarks></remarks>
    Public Sub New(ByVal NomFichier As String)

    ' Cet appel est requis par le Concepteur Windows Form.
    InitializeComponent()

    End Sub



    À l"appel de ton .exe, tu auras 2 possibilités

    appli

    ou

    appli(Image.gif)

    K
    -1
    1. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      Il ne parle pas de paramètre à l'appel d'une classe / d'une méthode, mais d'un exécutable.
      0
    2. Kalissi Messages postés 221 Statut Membre 20
       
      re :
      Effectivement je me suis gouré !

      J'ai du créer mon appli en bibliothèque de classe :

      Public Class Form1

      Private zArg As String = String.Empty

      Public Sub New(ByVal pArg As String)

      ' Cet appel est requis par le Concepteur Windows Form.
      InitializeComponent()

      ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
      tbx_Arg.Text = pArg

      End Sub

      Private Sub btnQuitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuitter.Click
      Me.Close()
      End Sub

      End Class

      et créer una autre appli qui appelait ma bibliothèque :

      Imports TstPrm = TestParam.Form1

      Public Class Form1

      Private Sub btnQuitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuitter.Click
      End
      End Sub

      Private Sub btnAppel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAppel.Click

      Dim Lance As New TestParam.Form1("Kalissi")
      Lance.ShowDialog()
      Lance.Dispose()

      End Sub

      End Class

      K
      0