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

C# Discussion :

passage des argument d'une application a une autre [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Octobre 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 9
    Par défaut passage des argument d'une application a une autre
    Bonjour,

    J'ai du mal a trouvé des information sur comment faire, un truc qui me semble assez simple a imaginer mais pas a coder.

    Pour le contexte :
    parti réalisé
    J'ai une application qui affiche une image en fonction de l'argument choisi a l’exécution.
    exemple :
    alerte.exe -Pluie = affiche une image de tempête
    alerte.exe -Canicule = affiche une image de désert

    la fenêtre se ferme au bout d'un laps de temps défini, environ 20 seconde.
    et elle ne peut être lancé qu'une seule fois.

    Ce que je n'arrive pas a faire :
    l'application est encours d’exécution, l'image est affiché et les 20 seconde ne sont pas encore écoulé.

    lorsqu’une nouvelle alerte se lance :

    si l'alerte est la même (argument a l’exécution identique) = la tempo s’incrémente de 5 seconde et un label affiche un message nouvelle alerte.

    si l'alerte est différente (image tempête affiché, la nouvelle alerte est une canicule) = la tempo se réinitialise et les image des deux alerte sont affiché en même temps via un splitContainer.

    Ce qui me manque pour y arriver
    Sachant que j'utilise un mutex pour n’autorisai qu'une seule exécution de mon application.

    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
    Mutex MyApplicationMutex = new Mutex(true, "MyApplicationMessage");
                if (MyApplicationMutex.WaitOne(0, false)) //n'autorise qu'une seul instance
                {
                    if (args.Length > 0)
                    {
                        ArgumentExecution.argument = args[0]; //je récupère l'argument a l’exécution
                    }
                    else
                    {
                        ArgumentExecution.argument = "VIP"; //valeur par défaut pour éviter une valeur null
                    }
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new Form1());
                  //  MyApplicationMutex.ReleaseMutex();
                }
    J'aurais besoin de savoir comment faire pour que les exécutions faite lors d'une première exécution active modifie les paramètre de cette première exécution, et me permettre de modifier l'image ou la tempo, ou rendre visible un label.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    C'est obliger deux application différente?

    Parce que si tu dois faire 2 applications, tu dois passer par un système de communication entre elle

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 9
    Par défaut
    c'est une seul application.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Si tu dois pouvoir gérer le lancement de plusieurs programme alerte.exe
    Il faut alors au lancement :
    Vérifier si un process existe déjà:
    Si il n'existe pas alors l'application se met à l'écoute (socket,wcf,nammed pipe) affiche l'image et si elle recoit un messages, elle agira en conséquence.
    Sinon il faut envoyer envoyer un message à la premiere application avec le nom de l'image a afficher

    Le plus simple serait de creer un serveur qui attend de recevoir des messages et un client qui enverra au serveur l'image à afficher

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002

  6. #6
    Membre habitué
    Inscrit en
    Octobre 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 9
    Par défaut
    merci, je teste sa de suite

  7. #7
    Membre habitué
    Inscrit en
    Octobre 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 9
    Par défaut
    Citation Envoyé par alavoler Voir le message
    ta solution dépassé quelque peu mes connaissance, il va me falloir un peu de temps pour bien la comprendre et l'utilisé. (je sais pas encore ce qu'est un serveur IPC, mais google pas tarder à me le dire )

    En tout cas après l'avoir parcourus, j'ai le sentiment que tu ma fournis une excellente solution, celle dont j'ai besoin.

  8. #8
    Membre habitué
    Inscrit en
    Octobre 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 9
    Par défaut
    J'ai enfin compris comment faire communiquer le serveur et le client codé sur une même application, grâce au code fournis par alavoler.

    j'ai trouvé par la suite d'autre piste
    et d'autre code source issus de ce site et d'un autre site, également l'exemple donné ici
    http://weblogs.asp.net/israelio/arch...04/346180.aspx
    qui montre les différence en le canal TCP et le canal IPC.


    Avec le recul, le code source d'alavoler est complet, faut juste savoir quoi mettre dans le "//faire un truc"
    Donc résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. passage d'une application desktop à une application client serveur
    Par nabil123456 dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 05/03/2015, 14h02
  2. Réponses: 0
    Dernier message: 20/09/2011, 17h23
  3. Passer d'une application Java à une application web
    Par freddy000 dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 02/01/2011, 14h57
  4. Réponses: 7
    Dernier message: 06/11/2008, 16h38
  5. [Joomla!] passer d'une application locale à une application web sur Joomla
    Par Gabrieel dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 15/05/2008, 18h38

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