2009-09-06 8 views
0

Je travaille sur un projet qui nécessite que je puisse détecter de manière fiable la présence d'une capacité sans fil sur un PC et un Mac.Détecter la présence d'une fonction sans fil sur PC/Mac?

Idéalement, je voudrais y parvenir grâce à un outil de ligne de commande existant que je pourrais empaqueter avec mon application ou qui existe peut-être déjà sur le système d'exploitation. Par capacité sans fil, je veux dire la présence d'une carte réseau sans fil sur un PC de bureau, ou intégrée sans fil sur un ordinateur portable ou même une clé USB/Dongle sans fil - essentiellement la présence de tout périphérique ou composant qui permettra une connexion à un routeur sans fil. Je cherchais simplement à capturer la sortie de "ipconfig/all" ou "systeminfo" sur le PC et "system_profiler" sur le Mac ... puis analyser les adaptateurs sans fil connus et les mots-clés, mais cela ne semble pas comme une solution idéale.

Y a-t-il des API que je peux utiliser pour réaliser ceci sur l'une ou l'autre plate-forme?

EDIT: Idéalement, les plates-formes que je voudrais soutenir sont:

de Windows: 2000/XP/Vista/7 Mac: 10,4/.5/.6

Répondre

1

Vous trouverez Managed Wifi API utile Pourquoi ne pas simplement interroger l'outil tout-en-un pour la configuration du réseau, netsh?

1

Au lieu de ipconfig?

Lorsqu'un périphérique WiFi est présent:

> netsh wlan show drivers 

Interface name: Wireless Network Connection 

    Driver     : Intel(R) PRO/Wireless 3945ABG Network Connection 
    Vendor     : Intel Corporation 
    Provider     : Microsoft 
    Date      : 2009-03-26 
    Version     : 12.4.1.4 
    INF file     : C:\Windows\INF\netw5v64.inf 
    Files      : 1 total 
           C:\Windows\system32\DRIVERS\netw5v64.sys 
    Type      : Native Wi-Fi Driver 
    Radio types supported  : 802.11a 802.11b 802.11g 
    FIPS 140-2 mode supported : Yes 
    Hosted network supported : No 
    Authentication and cipher supported in infrastructure mode: 
           Open   None 
           Open   WEP-40bit 
           Open   WEP-104bit 
           Open   WEP 
           Shared   WEP-40bit 
           Shared   WEP-104bit 
           Shared   WEP 
           WPA-Enterprise TKIP 
           WPA-Enterprise CCMP 
           WPA-Personal TKIP 
           WPA-Personal CCMP 
           WPA2-Enterprise TKIP 
           WPA2-Enterprise CCMP 
           WPA2-Personal TKIP 
           WPA2-Personal CCMP 
           Open   Vendor defined 
    Authentication and cipher supported in ad-hoc mode: 
           Open   None 
           Open   WEP-40bit 
           Open   WEP-104bit 
           Open   WEP 
           Shared   WEP-40bit 
           Shared   WEP-104bit 
           Shared   WEP 
           WPA2-Personal CCMP

Quand il n'y a pas de carte réseau Wi-Fi dans l'ordinateur, le service sans fil de configuration automatique est probablement pas en cours d'exécution (car il n'est pas nécessaire):

> netsh wlan show drivers 
The Wireless AutoConfig Service (wlansvc) is not running.

mais même quand il a commencé manuellement:

> netsh wlan show drivers 
There is no wireless interface on the system.
+0

Merci - cela sonne comme une bonne solution pour la plate-forme Windows. J'ai besoin de soutenir Windows 2000/XP/Vista/7 si ... cela fonctionnerait-il sur tous ces systèmes d'exploitation? – Shrill

+0

netsh existe certainement sous Windows 2000 et versions ultérieures, mais la véritable fonctionnalité WiFi au niveau OS n'existait pas avant Windows Vista. Dans XP c'était plus un hack que n'importe quel support réel, bien que vous pourriez avoir de la chance là-bas. Sous Windows 2000, le Wi-Fi était géré uniquement par le logiciel de pilote de la carte réseau. Vous ne pouvez donc pas le détecter de manière fiable. – Joey

+0

Ahh je vois. Serait-il possible d'utiliser netsh wlan sous XP? Avez-vous besoin d'installer un correctif pour que cette option apparaisse? Sinon, pourrais-je obtenir des fonctionnalités similaires via le service Wireless Zero Configuration? – Shrill

Questions connexes