Mam problem, w którym muszę włączyć kartę, która została już wyłączona, a osoba wyszukująca w usłudze WMI NetworkAdapter nie zwraca obiektu.Jak używać języka C# do włączania wyłączonej karty sieci bezprzewodowej
Potrafię wymyślić możliwy sposób, aby to zrobić, ale nie byłem w stanie go uruchomić, to jest stworzyć obiekt zarządzania, używając tego jako nazwy konstruktora. ale to tylko generuje wyjątki
{\\.\root\CIMV2:Win32_NetworkAdapter.NetConnectionID='Wireless Network Connection'}
Innym sposobem było płaszcza netsh i włączyć urządzenie, które jest rodzaj brzydki, albo użyć shell32/dll „Enable”, aby zrobić to samo, znowu, zarówno przekazując tylko imię. Otrzymałem nazwę ze skanowania rejestru pod numerem HKLM\SYSTEM\CurrentControlSet\Network
i szukałem MediaType = 2, aby uzyskać listę ciągów urządzeń bezprzewodowych. Wszystko działa dobrze, jeśli uruchomię aplikację, gdy adapter jest włączony, ponieważ mogę uzyskać obiekt networkObject dla urządzenia bezprzewodowego, ale wszystko przewraca się, jeśli aplikacja zostanie uruchomiona, gdy urządzenie bezprzewodowe zostanie wyłączone.
Dzięki
Edit. Jest to kod, który chciałbym, aby pracować, ale nie idą :(
using System;
using System.Management;
class Sample
{
public static int Main(string[] args)
{
ManagementObject mObj = new ManagementObject("\\\\.\\root\\CIMV2:Win32_NetworkAdapter.NetConnectionID=\"Wireless Network Connection\"");
mObj.InvokeMethod("Enable", null);
return 0;
}
}
Dzięki za odpowiedź! To, co wydaje mi się nie mieć, to Włącz adapter, który jest wyłączony, ponieważ wyszukiwanie nie zwraca niczego dla wyłączonego urządzenia. Wyłączenie urządzenia jest naprawdę łatwe, ale włączenie urządzenia, na które nie można uzyskać obiektu, jest tym, z czym mam problem. Idealnie, to jest to, co próbuję dostać do pracy – pedigree
Cóż, jeśli zapytasz o ten dokładny interfejs, to powinno ci umożliwić implementację w metodzie 'enable'. Czy nie, kiedy próbuję - działa. – Greg
@Grey - Czy masz połączenie bezprzewodowe (w menedżerze urządzeń) przed wywołaniem? Jeśli tak, to jaki OS/.NET celujesz? – pedigree