Windows 7 – Hálózati információk
A Start Solution innen tölthető le.
Szintén egy egyszerűsített információ lekérdezésre szolgáló API a Network List Manager API. Lekérdezhetjük a definiált hálózati kapcsolatainkhoz tartozó információkat, olyanokat, mint például, hogy az adott kapcsolat aktív-e, és ha igen hozzáfér-e az internethez. Az alábbi egyszerű példa a Windows Api Code Pack ezen képességét mutatja be.
1. Jelöljük ki a W7NetworkDetails_Tutorial Projectet a Solution Explorer-ben
2. Jobb egérgomb -> Set as Startup Project. Ezzel beállítjuk azt, hogy ez a project induljon el, amikor indítjuk az alkalmazást.
3. Nyissuk meg a MainWindow.xaml fájlt. Láthatjuk, hogy a felhasználói felület előre el van készítve, így ezzel nincs dolgunk.
4. Nyissuk meg a MainWindow.xaml.cs fájlt.
5. A konstruktorhoz adjuk hozzá az alábbi sorokat (Task – 8.1)
networkCollection = NetworkListManager.GetNetworks(NetworkConnectivityLevels.All); foreach (Network item in networkCollection) { cbNetworkCollection.Items.Add(item.Name); } cbNetworkCollection.SelectedIndex = 0; |
A program betöltődésekor, összeszedi a definiált hálózati kapcsolatokat (A NetworkConnectivityLevel All tulajdonsága miatt az összeset, mind az élő mind pedig a lezárt kapcsolatokat). Ezután a listán végiglépegetünk, és egyesével hozzáadjuk a comboboxhoz. A végén pedig alapértelmezettként az első elemet jelöljük ki.
6. Ezt követően a Combobox SelectionChanges eseményéhez adjuk hozzá az alábbi kódokat. (Task – 8.2)
Network queryResult = networkCollection.Where(n => n.Name == cbNetworkCollection.SelectedItem.ToString()).ElementAt(0);
lblCategory.Content = queryResult.Category; lblConnectedTime.Content = queryResult.ConnectedTime.ToString(); lblCreatedTime.Content = queryResult.CreatedTime.ToString(); lblDescription.Content = queryResult.Description; lblDomainType.Content = queryResult.DomainType; lblIsConncted.Content = queryResult.IsConnected; lblIsConnectedToInternet.Content = queryResult.IsConnectedToInternet; lblNetworkId.Content = queryResult.NetworkId; |
Ez az esemény akkor következik be, ha a Combobox SelectedIndex értékét megváltoztatjuk. Ebben az esetben egy Linq lekérdezést hajtunk végre. A lekérdezés lényege csupán annyi, hogy válassza ki azt az elemet, aminek a név tulajdonsága megegyezik a comboboxban kiválasztott elem név tulajdonságával.
7. Fordítsuk le (Ctrl+Shift+B) és indítsuk el (F5) az alkalmazást.
8. A comboboxban megjelent hálózatokat egyesével nézzük meg. Legalább 1 elemnek lennie kell minden gépen, aminek van definiált hálózati kapcsolata.