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 :

connexion à internet


Sujet :

Windows

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 6
    Points : 6
    Points
    6
    Par défaut [Résolu] connexion à internet
    bonjour,
    j'essaye d'écrire un programme en C permettant de tester si l'ordinateur est connecté à internet et, s'il ne l'est pas de créer la connexion.
    Le problème est que je n'arrive pas à executer le programme puisque j'ai un "docteur Watson" dès que j'essaye de le lancer.

    Mon code :
    #include <stdio.h>
    #include <windows.h>
    #include <wininet.h>

    int main(int argc, char* argv[]){
    BOOL test;
    DWORD iflags = 0;

    HANDLE lib;
    FARPROC func,func2;
    long hINet;
    //HINTERNET hINet, hFile;

    lib = LoadLibrary("wininet.dll");
    if (lib==NULL)
    return;

    func = GetProcAddress(lib, "InternetGetConnectedState");
    func2 = GetProcAddress(lib, "InternetOpen");

    test= (*func) (&iflags, 0);

    if (test) printf("connecté");
    else {
    printf ("pas connecté : tentative de connexion...");
    hINet =(*func2) ("InetURL/1.0", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 );
    }


    return;
    }


    l'erreur :
    Une fenêtre windows s'ouvre avec le message suivant :
    <le processus s'est déjà terminé> a généré des erreurs et sera fermé par windows. Vous devrez redémarrer le programme.
    Un journal des erreurs est en cours de création.

    Actuellement je travaille sous W2000.

    Si quelqun a une idée....

    merci d'avance

    Isabelle

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Attention à la valeur renvoyée par LoadLibrary : il y a erreur si cette valeur est inférieure à HINSTANCE_ERROR (= 32) et non seulement quand elle vaut NULL.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    ok... merci pour l'info

    Cependant, je n'ai une erreur que quand je ne suis pas connecté : donc le loadlibrary a l'air de fonctionner et c'est la ligne
    "hINet =(*func2) ("InetURL/1.0", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 ); " qui semble produire l'erreur

    désolée, j'aurais pû préciser avant...

    Isabelle

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 77
    Points : 83
    Points
    83
    Par défaut
    ce qui m'étonne, c'est que ca compile.....
    func et func2 ont le même prototypage, mais sont appelés avec des nombres d'arguments différents.

    je cerrais bien une définition dans le style

    HINTERNET (*func2) ( LPCTSTR lpszAgent,
    DWORD dwAccessType,
    LPCTSTR lpszProxyName,
    LPCTSTR lpszProxyBypass,
    DWORD dwFlags
    );

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    en fait c'était essentiellement un problème de compilation et d'édition de liens...
    Ce code ci était un peu compliqué et un gentil utilisateur du forum C m'a donné un code plus simple avec un appel direct au fonction de wininet.
    (http://www.developpez.net/forums/vie....php?t=230518)

    Une fois réussi à compiler et à éditer les liens ça marche très bien...

    merci quand même pour votre aide !

    Isabelle

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/03/2004, 13h13
  2. Unité Wininet : demande(s) de connexion internet
    Par nouanda dans le forum Web & réseau
    Réponses: 3
    Dernier message: 16/01/2004, 18h56
  3. [Réseau] Créer une connexion Internet
    Par Tranber dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 17/10/2002, 17h01
  4. Tester connexion Internet active sous Windows
    Par Altau dans le forum Développement
    Réponses: 3
    Dernier message: 12/08/2002, 12h43

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