begin process at 2010 07 29 15:10:45
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Smartphone :: Divers

 > CONNMGRWRAPPER - UTILISER LE GESTIONNAIRE DE CONNECTION DE WM

CONNMGRWRAPPER - UTILISER LE GESTIONNAIRE DE CONNECTION DE WM


 Information sur la source

Note :
Aucune note
Catégorie :Smartphone :: Divers Source .NET ( DotNet ) Classé sous :ConnMgrWrapper, internet, connection Niveau :Débutant Date de création :01/10/2009 Vu / téléchargé :2 296 / 55

Auteur : Willi

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note


 Description

Bon cette source casse pas trois pattes à un canard mais comme je démarre timidement dans l'univers Windows Mobile et n'ayant rien trouvé du côté du Compact Framework 3.5 pour ouvrir une connexion je propose ce petit wrapper du gestionnaire de connection de Windows Mobile.

Cette source a été faite avec le SDK de la version 6.5 de WM.

Source

  • public class ConnMgrWrapper
  • {
  • const int S_OK = 0;
  • Guid _networkGuid = Guid.Empty;
  • IntPtr _connection = IntPtr.Zero;
  • CONNMGR_STATUS _status = 0;
  • CONNMGR_PRIORITY _priority = 0;
  • public int Timeout { get; set; }
  • public CONNMGR_STATUS Status
  • {
  • get
  • {
  • if (_connection != IntPtr.Zero)
  • NativeMethods.ConnMgrConnectionStatus(_connection, ref _status);
  • else
  • _status = CONNMGR_STATUS.UNKNOWN;
  • return _status;
  • }
  • }
  • public CONNMGR_PRIORITY Priority
  • {
  • get { return _priority; }
  • set
  • {
  • if (_connection != IntPtr.Zero)
  • NativeMethods.ConnMgrSetConnectionPriority(_connection, _priority);
  • }
  • }
  • public CONNMGR_DESTINATION_INFO[] GetAvailableNetworks()
  • {
  • List<CONNMGR_DESTINATION_INFO> infos = new List<CONNMGR_DESTINATION_INFO>();
  • CONNMGR_DESTINATION_INFO info = new CONNMGR_DESTINATION_INFO();
  • int i = 0;
  • while (NativeMethods.ConnMgrEnumDestinations(i, ref info) == S_OK)
  • {
  • infos.Add(info);
  • i++;
  • }
  • return infos.ToArray();
  • }
  • public void EtablishConnection(string url)
  • {
  • this.EtablishConnection(url, CONNMGR_PRIORITY.HIPRIBKGND);
  • }
  • public void EtablishConnection(string url, CONNMGR_PRIORITY priority)
  • {
  • _priority = priority;
  • NativeMethods.ConnMgrMapURL(url, ref _networkGuid, 0);
  • CONNMGR_CONNECTIONINFO info = new CONNMGR_CONNECTIONINFO(_networkGuid, _priority);
  • NativeMethods.ConnMgrEstablishConnectionSync(info, ref _connection, Timeout, ref _status);
  • }
  • public void ReleaseConnection()
  • {
  • if (_status == CONNMGR_STATUS.CONNECTED)
  • NativeMethods.ConnMgrReleaseConnection(_connection, 1);
  • }
  • }
public class ConnMgrWrapper
{
    const int S_OK = 0;

    Guid _networkGuid = Guid.Empty;
    IntPtr _connection = IntPtr.Zero;
    CONNMGR_STATUS _status = 0;
    CONNMGR_PRIORITY _priority = 0;

    public int Timeout { get; set; }

    public CONNMGR_STATUS Status
    {
        get
        {
            if (_connection != IntPtr.Zero)
                NativeMethods.ConnMgrConnectionStatus(_connection, ref _status);
            else
                _status = CONNMGR_STATUS.UNKNOWN;

            return _status;
        }
    }

    public CONNMGR_PRIORITY Priority
    {
        get { return _priority; }
        set
        {
            if (_connection != IntPtr.Zero)
                NativeMethods.ConnMgrSetConnectionPriority(_connection, _priority);
        }
    }

    public CONNMGR_DESTINATION_INFO[] GetAvailableNetworks()
    {
        List<CONNMGR_DESTINATION_INFO> infos = new List<CONNMGR_DESTINATION_INFO>();
        CONNMGR_DESTINATION_INFO info = new CONNMGR_DESTINATION_INFO();
        int i = 0;

        while (NativeMethods.ConnMgrEnumDestinations(i, ref info) == S_OK)
        {
            infos.Add(info);
            i++;
        }

        return infos.ToArray();
    }

    public void EtablishConnection(string url)
    {
        this.EtablishConnection(url, CONNMGR_PRIORITY.HIPRIBKGND);
    }

    public void EtablishConnection(string url, CONNMGR_PRIORITY priority)
    {
        _priority = priority;

        NativeMethods.ConnMgrMapURL(url, ref _networkGuid, 0);

        CONNMGR_CONNECTIONINFO info = new CONNMGR_CONNECTIONINFO(_networkGuid, _priority);
        NativeMethods.ConnMgrEstablishConnectionSync(info, ref _connection, Timeout, ref _status);
    }

    public void ReleaseConnection()
    {
        if (_status == CONNMGR_STATUS.CONNECTED)
            NativeMethods.ConnMgrReleaseConnection(_connection, 1);
    }
}

 Conclusion

Critiques, notes....je suis à l'écoute !!
Bon dev.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) TÉLÉCOMMANDEZ VOTRE PC À PARTIR DE VOTRE SMARTPHONE :-) par adnotlegland

Commentaires et avis

Commentaire de lassie14 le 05/10/2009 09:47:00

ton code ma l'ère intéressant mais comment faire pour l'essayer ?
tu fournit juste la classe il n'y a rien dans la form meme pas un bouton connecter deconnecter
comment on l'utilise?
merci

ps sinon la qualité du code ma l'ère très bonne

Commentaire de mousaid_88 le 05/10/2009 10:55:01

je suis un débutant sur wm je veux savoir comment compiler et utiliser ton code
merci

Commentaire de Willi le 05/10/2009 23:31:33 administrateur CS

Oups désolé messieurs j'ai effectivement oublié quelque chose !
Je rajoute cela très rapidement.

Commentaire de Willi le 12/10/2009 12:12:27 administrateur CS

Exemple:

ConnMgrWrapper comMgr = new ConnMgrWrapper();

//Ouvre une connection vers cette url.
conMgr.EtablishConnection("http://www.pdafr.com");
//Si connecté...faire ce que vous voulez...
if(conMgr.Status == CONMGR_STATUS.CONNECTED)
{
    //Exemple de lecture du flux rss du site.
    XmlDocument xmlDoc = new XmlDocument();
    xmdDoc.Load("http://www.pdafr.com/rss.aspx");
    //.........
}
//Libérer la connection
conMgr.ReleaseConnection();

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Connection RAS WCE 4.2 [ par SylMat ] Bonjour a tous,Voila mon prob...J'ai une DLL qui effectue une connection au RAS pour Pocket PC 2002...le prob c ke j'ai essayé de la recompiler sous E création de site internet [ par fullgaz ] Bonjour à tous, Voici mon problème, j'ai un site internet que je souhaite visualiser sur un pocket pc. Faut il que je créer un sous domaine spécifique Connection appli eVB et bdd Access [ par arnaud72 ] Nouveau sur ce forum et nouveau en développement windows CE, je souhaite réaliser une application en eVB qui interrogerai une base de données Access h Medion +Gps [ par AsselusBorealiss ] Bonsoir a tous je voudrais votre avis sur la prochaine offre du mercredi 1er Decembre 2004 des Mags Aldi.un pda + gps a 379emes Question :1) a combien comment conecter mon pocket pc a internet !? [ par fredericmaill ] Bonjour, je suis posseseur d'un pocket pc HP Ipack H1930,je voudrais savoir comment créé un petit reseau entre mon pocket pc et mon ordinateur portabl Connection Manager [ par Rome05 ] Bonjour,J'aimerai dans mon code vb.net Compact framework lanc&#233; ma connexion GSM par defaut, et l'arreter kan je veux. J'ai tent&#233; de me rense Connexion à internet avec un émulateur ! [ par dgelekid ] Bonjour &#224; tous,Je d&#233;veloppe depuis peu une application pour PDA. Cette derni&#232;re fait appel &#224; internet...J'utilise pour tester cett connexion a internet via PC a partir d'un PalmOne Thungtene E2 [ par sovos ] Slut a tous.Je suis l'heure detenteur d'un thungstene E2 depuis 2 mois. Mais voila je n'arrive toujours pas a me connecter a internet via mon PC. que Connection base de données access/java [ par cornik ] Bonjour a tous voila je dois developper une apllication pour pocket pc dans laquelle je doit faire 2 ou 3 requetes.J'ai commencer &#224; d&#233;velopp Standard supportés par Pocket Internet Explorer [ par cmaurice ] Bonjour,je dois définir les spécifications d'adaptation d'un site de tourisme pour périphériques mobiles style PDA et j'aurais voulu savoir les standa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales