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 Discussion :

Un service pour se reconnecter à internet


Sujet :

Windows

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 73
    Points : 55
    Points
    55
    Par défaut Un service pour se reconnecter à internet
    Bonsoir,

    Je vais essayer d'être clair.
    J'ai un problème avec une clé 3G sfr qui se déconnecte de temps en temps, de manière aléatoire.
    C'est très handicapant car l'ordinateur qui a cette clé doit fonctionner de manière autonome, et être constamment connecté.

    J'aimerai donc créer une petite appli qui surveille la connexion internet (via un ping toutes les 10 minutes par exemple) et qui en cas de déconnexion stoppe et redémarre le logiciel de connexion sfr.
    En effet, au démarrage de celui-ci la clé se connecte automatiquement au net.

    Je n'y connais pas grand chose, mais je pense qu'un service peut faire ce genre de chose.
    Qu'en pensez-vous?
    Comment créer un service pour XP? Avec quel IDE (gratuit de préférence)?

    Merci d'avance,

  2. #2
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Es-tu vraiment sûr de vouloir faire un "service" (service NT) ? Une application qui tourne en tâche de fond fait déjà bien l'affaire. Quelles sont tes connaissances actuelles en programmation Windows ?

    Pour surveiller la connexion, faire de pings me semble une bonne idée. En effet on ne peut pas simplement ouvrir une connexion TCP et conclure une panne réseau à la moindre coupure.

    Dans ce tutoriel sur les raw sockets, il y a un exemple de code qui te permet de pinger une machine dont l'adresse ou le nom est spsécifié.

    Pour l'IDE, je te conseille Visual C++ 2008 Express sinon Code::Blocks si c'est trop lourd pour toi.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    Merci Melem,

    J'ai été voir ton lien sur les raw socket... j'ai laissé tombé vite fait.

    Je suis parti en fait sur l'idée d'un .bat qui tournerait comme un service.
    Pour le bat s'est assez simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    :start
    sleep 60 // si je veux que ça fasse une pause de 10min
    
    ping www.google.fr
    if %errorlevel% EQU 1 GOTO :cnx
    GOTO :start
    
    :cnx
    tskill "sfr" // on tue le process du logiciel sfr
    start "sfr" "c:\sfr.exe" 
    
    GOTO :start
    Tu en penses quoi?
    Mais là je galère pour en faire un service.
    J'essaie avec la commande sc, et aussi les programme instsrv.exe et srvany.exe, mais ça bug quelque part...?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    C'est bon je m'en sors pas trop mal.
    Avec le code précédant, j'ai fait un test en lançant la calculatrice (calc.exe).

    Mais ce qui est curieux c'est que le processus calc.exe apparait bien, mais par contre l'interface de la calculatrice n'apparait pas..?? quelqu'un c'est pourquoi et comment corriger cela?

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 238
    Points : 12 430
    Points
    12 430
    Par défaut
    Les services tournent dans un environnement de sécurité (une WorkStation)
    différent de celui de l'utilisateur inter-actif.
    Je rappelle qu'un service tourne même quand personne n'est connecté à la machine.
    Les fenêtres créées par notepad sont sur l'un des écrans de la WorkStation des services et pas dans la Workstation de l'utilisateur inter-actif. (Il y a trois écrans par WorkStation : Le Desktop, l'écran Crtl-Alt-Supp et le ScreenSaver.

    Donc pas de programmes avec IHM lancé en service.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    Merci Bacelar,
    J'ai un peu près compris ce que tu as dit

    En tout cas je viens de tester avec le logiciel de connexion de la clé 3g et ça semble fonctionner.
    Le service ping toutes les 60s (poour tester) et orsqu'il n'y a pas de connexion, hop le logiciel se lance, je ne le vois mais il est dans les processus, et la connexion se rétablit.

    C'est cool!
    Par contre, j'ai du modifier le service pour que la connexion se fasse avec le compte utilisateur (mon compte) parce qu'en utilisant le compte système local, ça faisait n'importe quoi (il lançait plusieurs processus sfr en même temps).

    C'est quoi IHM?
    Et comment faire si je tenais vraiment à utiliser la calculatrice en la lançant à partir d'un service?

  7. #7
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 369
    Points
    50 369
    Par défaut
    Citation Envoyé par noreaga10 Voir le message
    C'est quoi IHM?
    Interface Homme Machine en gros, c'est la partie visible de ton programme

    Citation Envoyé par noreaga10 Voir le message
    Et comment faire si je tenais vraiment à utiliser la calculatrice en la lançant à partir d'un service?
    Tu ne fais pas. Ou alors pas comme cela.

    Les services, c'est fait pour faire tourner des programme en tâche de fond (c'est l'équivalent des démons Unix).

    Pour lancer un programme utilisateur, tu as par exemple la clé Démarrage dans le menu Démarrer.

    Le fait qu'un service ne puisse pas lancer de programme IHM est lié à la sécurité.

    Imagine un programme qui possède une fenêtre Save As (comme Notepad par exemple). Un service est lancé avec des privilèges très élevés. S'il lance Notepad (par exemple), l'utilisateur (sans privilèges normallement) pourra lire ou écraser des fichiers du système auxquels l'accès lui est normallement interdit parce que notepad aura été lancé avec l'identité du service et sera controlé par l'utilisateur.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    Merci Ram pour ces précisions.

    J'étais justement en train de me demander pourquoi je m'embête à vouloir faire un service avec mon fichier .bat, alors que je pourrais simplement le lancer en démarrage???

    Je suis un peu con là-dessus.

  9. #9
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 369
    Points
    50 369
    Par défaut
    Citation Envoyé par noreaga10 Voir le message
    Je suis un peu con là-dessus.
    Con, c'est un mot qu'il faut garder pour les grandes occasions

    N'oublie pas le bouton

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    En tout cas j'ai bien appris.
    Merci.

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

Discussions similaires

  1. [WD9] Service pour port série
    Par y0p dans le forum WinDev
    Réponses: 3
    Dernier message: 11/01/2006, 14h58
  2. [VB.NET] NT AUTHORITY\NETWORK SERVICE pour connection SQL
    Par Immobilis dans le forum ASP.NET
    Réponses: 2
    Dernier message: 05/01/2006, 22h49
  3. [10g] 2 services pour 1 instance
    Par matana dans le forum Oracle
    Réponses: 4
    Dernier message: 21/09/2005, 16h10
  4. Réponses: 5
    Dernier message: 27/08/2003, 12h45

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