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 :

Mon appli au démarrage de l'OS


Sujet :

Windows Forms

  1. #1
    Membre éclairé Avatar de demando77
    Inscrit en
    Décembre 2007
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 263
    Par défaut Mon appli au démarrage de l'OS
    Salut!
    Je développe en visual C# Team Edition et j'aimerais que l'appli que j'ai créé se lance au démmarage de windows et reste dans la barre des têches (il suffit juste d'un notify icon, c'est ok de ce coté) mais que son lancement se fasse dès que le service d'impression est lancé (windows XP & Vista).

    J'attends recevoir des éclaircissements sur le chargement d'une appli au démarrage de windows, comme avast, etc. et sur la détection du service d'impression.
    L'objectif est de sécuriser les impressions par une appli -fin prête à ce niveau- demandant un mot de passe avant d'exécuter l'impression.

    Merci

    TM018

  2. #2
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Pour démarrer une appli au démarrage tu peut rajouter cette dernière dans une des clef du registre nommée Run (dans HKLM ou HKCR) cf:
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]

    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
    Pour savoir quel format utiliser, suffit de regarder les clefs déjà présentes. Pour RunOnce l'application est exécutée une seule fois et il faut l'y remettre, pour Run elle est exécuté à chaque démarrage. Par contre l'application sera démarrée après le démarrage de l'explorateur et avant/après quelques autres applications sans vraiment savoir.

    D'un autre côté, il me semble que l'on peut enregistrer un service Windows et spécifier qu'il doit être démarré automatiquement, et on peut même s'arranger pour qu'il tourne avant même l'ouverture de la session, mais là c'est un peut différent (exécuter un service .NET avant l'ouverture de session ça doit être bizarre question sécurité, mais on peut toujours le démarré à l'ouverture de la session).

    Sinon, pour être sur qu'il soit démarré avant le service d'impression ... je sais pas

  3. #3
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    vaut mieux faire un service windows. pour la detection du service => script WMI ou appli WMI.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 217
    Par défaut
    Citation Envoyé par demando77 Voir le message
    [...] mais que son lancement se fasse dès que le service d'impression est lancé (windows XP & Vista).

    J'attends recevoir des éclaircissements sur le chargement d'une appli au démarrage de windows, comme avast, etc. et sur la détection du service d'impression.[...]
    Pour garantir de lancer votre application seulement après le lancement du service d'impression, soit vous faites de votre application elle-même un service (mais cela ne va probablement pas vous convenir si vous avez prévu une IHM pour celle ci, ou pour d'autres bonnes raisons), soit vous écrivez un service dont le démarrage "dépendra" (i.e, surviendra après) du démarrage dudit service d'impression, et qui notifiera votre application par le moyen de votre choix.

    Pour mettre en oeuvre cette dépendance, voici l'article de la KB Microsoft :

    http://support.microsoft.com/?scid=kb;en-us;193888

    (Où il vous faudra principalement intervenir sur les valeurs de clés ad hoc de la base de registre ; résumé : vous listez les dépendances -- nom(s) de service(s) -- dans une valeur DependOnService de type REG_MULTI_SZ sous la clé HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<nom de votre service>)

    Mais consultez également la partie de la documentation du framework relative aux services Windows, pour le cas où les classes du framework lui même vous offriraient les moyens de mettre en oeuvre ce genre de préférences lors de l'implémentation du service (je pense peu probable, mais à vérifier).

    'HTH

  5. #5
    Membre éclairé Avatar de demando77
    Inscrit en
    Décembre 2007
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 263
    Par défaut
    Citation Envoyé par smyley Voir le message
    Pour démarrer une appli au démarrage tu peut rajouter cette dernière dans une des clef du registre nommée Run (dans HKLM ou HKCR) cf:
    Merci, jusque là, mais dois-je le faire avec DreamShield lors de l'empaquetage ou comment!
    Et où je met le nom de l'application(avec DreamSjield je pense que ca ne sera pas un problème du tout)!!!

    Merci encore

    TM018

  6. #6
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Si tu veux créer la clef pendant l'installation avec DreamShield, il faut aller dans Données du package > Edition du registre et de créer la clef comme sur l'image :

    La valeur "{TARGETDIR}\tonapplication.exe::"{0}"" sera convertit à l'exécution en "C:\Dossier d'installation\tonapplication.exe" (pour peut que "Peut référencer un dossier interne" soit coché).
    Images attachées Images attachées  

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/07/2014, 16h58
  2. Réponses: 2
    Dernier message: 20/05/2014, 13h44
  3. [AC-2003] Message d alerte au démarrage de mon appli
    Par adelsunwind dans le forum IHM
    Réponses: 1
    Dernier message: 06/04/2009, 12h24
  4. mon appli ne marche qu'au démarrage de tomcat
    Par Aldian dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 17/06/2008, 22h34
  5. afficher un GIF transparent au démarrage de mon appli
    Par bandito dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/10/2006, 11h22

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