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é 8902 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 :
CreateCursor 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) ForEach objInstance In objInstances If !"MINIPORT" $ Upper(objInstance.instancename) InsertInto wireless (Name) Values (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) ForEach 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 WithUpper(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) ForEach tmp In WMIObj Replace R_signalStrenght WithAlltrim(Str(tmp.Ndis80211ReceivedSignalStrength))+'dbM' Next