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

Développement Windows Discussion :

Lancer mon logiciel grâce à un lien dans un mail


Sujet :

Développement Windows

  1. #1
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 41
    Points : 18
    Points
    18
    Par défaut Lancer mon logiciel grâce à un lien dans un mail
    Bonjour,

    Voilà alors très simple en apparence : Je voudrais pouvoir lancer mon logiciel (installer sur le pc) grâce à un lien reçut par mail. Dans ce lien des informations qui pré-remplisse un formulaire.

    Comment faire ?

    Je voudrais faire un lien de ce style là : monlogiciel://Titre/nomClient/idMachine (Requete de protocole externe ?)
    Comme les liens de Steam (Exemple : steam://friends/)

    merci d'avance

    Cordialement

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    pour Windows il faut définir un schéma d'URI dans la base de registre, comme suit,
    Soit procto le nom de mon nouveau protocole, et ProctoParser.exe l'exécutable qui gère la ressource pointée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    HKEY_CLASSES_ROOT/
        procto/
        (Default)    "URL:procto Protocol"
        URL Protocol ""
        shell/
            open/
                command/
                (Default) "C:\Program Files\Procto\ProctoParser.exe" "%1"
    Une petite impression d'écran qui montre à quoi ça ressemble :

    Nom : URI_scheme.jpg
Affichages : 353
Taille : 13,3 Ko

    Ensuite, quand tu suivras une URI du genre procto://resource.ext, ProctoParser sera lancé avec cette URI en premier argument (protocole inclus).

    Bon dev.
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 41
    Points : 18
    Points
    18
    Par défaut
    Donc si je comprend bien, je fais les mêmes manipulations en remplaçant Procto par le nom de mon logiciel. Et si je veux y ajouter des arguments je l'ai traite dans le main de mon programme. C'est bien ça ?

  4. #4
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Tu remplaces procto par le nom de ton protocole dans le nom de la première clé de registre, ET dans sa valeur par défaut ("URL:NomDuProtoIci Protocol").
    Tu remplaces C:\Program Files\Procto\ProctoParser.exe par le chemin complet vers ton "logiciel" qui gère les URI de ce protocole.

    Pour les arguments, si t'es en mode console tu peux y accéder via le param args de ta fonction Main.
    Si t'es en mode window tu peux y accéder via la méthode Environment.GetCommandLineArgs().

    Imaginons que le code de mon ProctoParser.exe ressemble à ça (mode console) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    namespace test_console_csharp {
    	class Program {
    		static void Main(string[] args) {
    			if (args.Length > 0)
    				Console.WriteLine("URI à traîter : " + args[0]);
    			Console.ReadLine(); // system("pause");
    		}
    	}
    }
    Alors si on suit le lien procto://some/stuff/tavu, une console va s'ouvrir avec écrit :
    Citation Envoyé par stdout
    URI à traîter : procto://some/stuff/tavu
    Plus je connais de langages, plus j'aime le C.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 41
    Points : 18
    Points
    18
    Par défaut
    Non finalement ça ne marche pas.

    J'ai peut être oublié un détail important : Mon application est déployé en clickonce offline.

    De ce fait, le je ne peux pas pointer vers mon exe mais plutôt sur mon .appref-ms
    et je ne peux pas utilisé un autre logiciel à moins qu'il ne s'installe en même temps que mon application clickonce (l'installation par les utilisateurs deviendrait trop complexe).

  6. #6
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Je ne sais pas du tout comment fonctionne ClickOnce.
    Si j'ai un peu de temps je regarderai ça.

    edit : quelques questions :
    - elle fait quoi ton appli ?
    - à quoi correspondrait une URI ouverte par cette appli ? Un exemple ?
    Plus je connais de langages, plus j'aime le C.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 41
    Points : 18
    Points
    18
    Par défaut
    Mon appli est développé pour une entreprise en particulier. Elle permet aux techniciens qui partent faire une maintenance chez des clients de remplir leur rapport d'intervention sur logiciel plutôt que sur papier. Une fois signer elle le renvoi sur le serveur. Seulement parfois, le techniciens n'a pas internet alors je voulais pouvoir lui envoyé les infos du client par mail sous forme de fichier ou d'url protocol (avec les infos encodé dans l'url).

    Je ne sais pas si ça t'aide. Peut être qu'il y a plus simple.
    J'ai abandonner l'ouverture de fichier parce que le ouvrir avec ne marchais qu'en pointant sur le .exe. Mais le problème est peut être tout simplement le même que pour l'url protocol.
    Après il y a peut être plus simple comme système mais j'ai trouvé ça déjà pas mal.

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 460
    Points
    5 460
    Par défaut
    Ca me semble impossible dans la mesure ou tu ne connais pas a l'avance le chemin de ton exe via clickonce. En effet l'installation se trouve dans des sous dossiers avec un nom a ralonge du style 456xwes13we1567r1ce5w et qui en plus change a chaque mise a jour...

Discussions similaires

  1. [AC-2003] Lancer mon formulaire d'attente (ProgressBar) dans un thread
    Par dut-dut dans le forum VBA Access
    Réponses: 3
    Dernier message: 02/09/2011, 13h31
  2. Mail bloqués comme Spam car lien dans le mail
    Par OlynK dans le forum Free
    Réponses: 1
    Dernier message: 19/01/2009, 09h53
  3. Réponses: 5
    Dernier message: 06/01/2009, 14h52
  4. Un .bat pour lancer mon logiciel
    Par skystef dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 30/04/2008, 15h52
  5. sécuriser des liens dans des mails
    Par agrotic dans le forum ASP
    Réponses: 7
    Dernier message: 29/05/2007, 14h53

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