ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Comment determiner le réseau de connexion d'un carte de réseau sans-fil (Wireless)   



L'auteur

Mike Gagnon
Canada Canada
Membre Simple
# 0000000025
enregistré le 14/10/2004

Gagnon Mike
Pte Claire Quebec - Canada
de la société MCRG Software
Fiche personnelle


Note des membres
pas de note

Contributions > 09 - Automation > WMI (Windows Management Instrumentation)

Comment determiner le réseau de connexion d'un carte de réseau sans-fil (Wireless)
# 0000000460
ajouté le 23/07/2007 15:48:59 et modifié le 23/07/2007
consulté 5242 fois
Niveau initié

Version(s) Foxpro :
VFP 9.0
VFP 8.0
VFP 7.0


Le téléchargement des pièces jointes est limité aux membres
Veuillez vous identifier ou vous inscrire si vous n'avez pas encore de compte ...
Description

A noter qu'il faut une carte wireless installée et fonctionnelle

Il faut que WMI (Windows management Instrumentation) soit installé.

Il est possible que le mot 'Miniport' soit different pour un version francaise de Windows.

Le code retourne 4 valeur.

1. Le nom de la carte réseau sans-fil 

2. Le status de la carte (active ou non-active)

3. Le nom réseau préféré avec lequel la carte communique

4. La force du signal en dbm (en valeurs négatives, -40dbm est 100% et -90dbm est 0%)

 

Code source :
Create Cursor wireless (Name c(40),prefered c(10),Active l,R_signalStrenght c(10))
strServer = "."
objWMI = Getobject("winmgmts://" + strServer + "/root\WMI")
objInstances = objWMI.InstancesOf("MSNdis_80211_ServiceSetIdentifier Where active=true",48)
For Each objInstance In objInstances
  If !"MINIPORT" $ Upper(objInstance.instancename)
    Insert Into wireless (NameValues (objInstance.instancename)
    Select wireless
    Replace Active With objInstance.Active
    WMIClass = Getobject("winmgmts://" + strServer + "/root\WMI")
    lcSql = "Select * from MSNdis_80211_ServiceSetIdentifier Where InstanceName ='[instancename]'"
    lcSql = Strtran(lcSql,'[instancename]',objInstance.instancename)
    WMIObj = WMIClass.ExecQuery(lcSql)
    For Each tmp In WMIObj
      cId = ""
      For i = 0 To tmp.Ndis80211SsId(0)
        cId = cId + Chr(tmp.Ndis80211SsId(i + 4))
      Next
      cId = Substr(cId,1,Len(Alltrim(cId))-1)
      Replace prefered With  Upper(cId)
    Next
  Endif
  WMIClass = Getobject("winmgmts:\\.\root\wmi")
  lcSql = "Select * from MSNdis_80211_ReceivedSignalStrength Where InstanceName ='[instancename]'"
  lcSql = Strtran(lcSql,'[instancename]',objInstance.instancename)
  WMIObj = WMIClass.ExecQuery(lcSql)
  For Each tmp In WMIObj
    Replace R_signalStrenght With Alltrim(Str(tmp.Ndis80211ReceivedSignalStrength))+'dbM'
  Next

Next
Commentaires
Aucun commentaire enregistré ...

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2019.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3