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

Windows Forms Discussion :

[VB.NET] Communication en memoire ?


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2
    Par défaut [VB.NET] Communication en memoire ?
    Je programme actuellement un editeur de texte sous windows, il est presque fini, mais il lui manque quelque chose.

    C'est assez simple, prennez des applications comme Winamp, Foobar ou Word, quand il sont lancés, si vous lancez apres un fichier dont le format est geré par eux, Windows n'ouvrira pas un nouveau Word ou Winamp mais fera ouvrir au processus existant le fichier voulu.
    Et bien c'est ça que je voudrais faire gerer a mon appli.
    J'avais quelques idées sur comment parvenir a ce resultat :

    Quant l'utilisateur clique sur un fichier texte, cela lance mon programme, qui verifie en memoire si aucun processus de mon appli est deja lancé, si ce n'est pas le cas il continue a se lancer normalement, et ouvre le fichier texte doublement cliqué. Si c'est le cas, il envoie un message au 1er processus ouvert en lui indiquant qu'il faut qu'il ouvre le fichier texte que l'utilisateur a choisi, et se quitte, l'autre application reçoit le message et ouvre le fichier texte choisi.

    Mais je butte sur la partie envoi du message en memoire et reception du message (je ne sais pas du tout comment faire). Peut etre avez vous vu un peu de doc. trainer de ça et la, ou des pages MSDN sur le sujet ?

    Peut etre que mon systeme est inutilement compliqué et qu'il n'est pas du tout necessaire de faire tout ça pour arriver au resultat ?

    Merci de votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 35
    Par défaut
    je sais pas si c'est bon mais je te propose d'utiliser les API Windows avec la fonction FindWindow et ensuite tu envoies le messages que tu veux. Je peux pas t'aider et te direcomment ca marche (surtt en vb) mais bon, à priori ca pourrait etre une solution!

    Ensuite, deuxième solution, essaies qqch de ce genre (c#, essaies de convertir car je connais pas du tout vb.net!) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Process[] prc = Process.GetProcessesByName("NOTEPAD");
     
    for(int i=0;i<prc.Length;i++)
       if(prc[i].Responding)
       {
           SetForegroundWindow(prc[i].MainWindowHandle);
           SendKeys.SendWait("_TAD_");
           SetForegroundWindow(this.Handle);
       }
    ( http://www.experts-exchange.com/Programming/Programming_Languages/Dot_Net/Q_20895124.html )

    Voilà j'éspère t'avoir aidé un peu.

  3. #3
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Voila pile poil ce que tu cherches: une seule instance pour ton programme meme si un fichier est demande par le shell

    http://www.thecodeproject.com/vb/net/sing_inistan.asp

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2
    Par défaut
    Merci Beaucoup, je n'avais pas pensé a regarder sur Code-Project.

    [Tag [Résolu] corrigé par freegreg]
    [Merci de cliquer sur le bouton tout en bas à gauche]
    [Pensez-y, vous-même, la prochaine fois. Merci ]

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

Discussions similaires

  1. [VB.Net] Communications de 2 applications
    Par CreatixEA dans le forum VB.NET
    Réponses: 1
    Dernier message: 15/11/2007, 14h58
  2. Réponses: 13
    Dernier message: 04/12/2006, 11h21
  3. [VB.NET] Garder en memoire certaines valeur
    Par mael94420 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/10/2006, 08h49
  4. [VB.NET] Communication entre forms
    Par alex69 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/06/2005, 11h27
  5. [VB.NET] Communication série
    Par DotNET74 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/03/2005, 14h02

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