Windows 10 ha portato con sé nuove API per WinRT: alcune di queste ci permettono di "accedere" alla scheda di rete, per fare la scansione delle reti WiFi disponibili e, in un secondo momento, effettuare una connessione ad una rete predeterminata.
La prima cosa che dobbiamo fare è richiedere l'autorizzazione:
var access = await WiFiAdapter.RequestAccessAsync();
Dobbiamo dichiarare questa capability attraverso il file di manifest:
<Capabilities> <DeviceCapability Name="wiFiControl" /> </Capabilities>
A questo punto, dobbiamo controllare se il consenso è stato dato dall'utente, quindi effettuiamo una scansione per recuperare tutti i WiFiAdapter presenti sul device:
if (access == WiFiAccessStatus.Allowed) { var adapters = await DeviceInformation.FindAllAsync(WiFiAdapter.GetDeviceSelector()); if (adapters.Count > 0) { // adattatori WiFi trovati } }
Una volta verificato questo e verificato che ci sia almeno un adattatore disponibile. Recuperiamo la scheda che ci interessa e facciamo una scansione delle reti disponibili:
var adapter = await WiFiAdapter.FromIdAsync(adapters[0].Id); await adapter.ScanAsync();
Dopo aver effettuato la scansione otterremo un elenco delle reti disponibili: dobbiamo selezionarne una (in questo caso la prima), recuperare l'SSID e, infine, connettersi:
var network = adapter.NetworkReport.AvailableNetworks[0]; var ssid = network.Ssid; var connectionResult = await adapter.ConnectAsync(network, WiFiReconnectionKind.Automatic);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Eseguire una query su SQL Azure tramite un workflow di GitHub
Migliorare la sicurezza dei prompt con Azure AI Studio
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Utilizzare Copilot con Azure Cosmos DB
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Assegnare un valore di default a un parametro di una lambda in C#
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente