OleM80 Skrevet 25. november 2009 Del Skrevet 25. november 2009 Forsøker å bruke System.Management.ManagementClass til å hente ut og iterere nettverkskortene på en PC. Dette gjøres slik ManagementClass mgmt = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection objCol = mgmt.GetInstances(); foreach (ManagementObject obj in objCol) { if ((bool)obj["IPEnabled"]) address = obj["MacAddress"].ToString(); { //ETC } } Dette har nå fungert smertefritt på både min og andres PCer. Etter en Windows Update(ikke 100% sikkert at dette er grunnen) så fungerte ikke dette lengre på en bestemt kunde PC. Kallet "ManagementObjectCollection objCol = mgmt.GetInstances();" fører til en exception. Hånterer exceptionen slik: catch (ManagementException e) { writer.WriteLine("----------------"); writer.WriteLine(e.ErrorInformation); writer.WriteLine("----------------"); writer.WriteLine(e.ErrorCode); writer.WriteLine("----------------"); writer.WriteLine(e.Message); writer.WriteLine("----------------"); writer.WriteLine(e.StackTrace); Som skriver ut følgende print ---------------- ---------------- InitializationFailure ---------------- Initialiseringsfeil ---------------- at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode) at System.Management.ManagementScope.InitializeGuts(Object o) at System.Management.ManagementScope.Initialize() at System.Management.ManagementObject.Initialize(Boolean getObject) at System.Management.ManagementClass.GetInstances(EnumerationOptions options) at System.Management.ManagementClass.GetInstances() at Roads.Lib.License.LicenseAdmin.CreateHwKey() at Roads.Lib.License.LicenseAdmin.CreateReferanceCode() at Roads.Lib.License.LicensGUI..ctor(LicenseAdmin licenseAdmin) at Roads.Lib.License.LicenseAdmin.IsLicenseOk() at lisenstester.Program.Main() Umiddelbart tenker jeg rettigheter/tilgang men burde jeg ikke da fått en exception som fortalte meg at dette var problemet? Håper noen har innspill/forslag som kan sende meg på rett spor. Lenke til kommentar
GeirGrusom Skrevet 25. november 2009 Del Skrevet 25. november 2009 Du kan kanskje forsøke å bruke System.Net.NetworkInformation istedet for WMI, men kanskje det gir samme feil. Lenke til kommentar
OleM80 Skrevet 26. november 2009 Forfatter Del Skrevet 26. november 2009 Du kan kanskje forsøke å bruke System.Net.NetworkInformation istedet for WMI, men kanskje det gir samme feil. Ikke støtte i .Net 2.0 dessverre. Lenke til kommentar
Wattengård Skrevet 27. november 2009 Del Skrevet 27. november 2009 Det ser ut som den hiver exceptionen med ekstra info... Klarer du ikke å få ut noe mer data fra Exception-objektet ditt? -C- Lenke til kommentar
OleM80 Skrevet 27. november 2009 Forfatter Del Skrevet 27. november 2009 Exception objektet gav meg bare informasjon jeg skrev ut over. Fant imidlertid problemet. Da det var flere servicer på den aktuelle maskinen som hadde stoppet. Var visst en WMI service av noe slag som hadde stoppet etter windows updaten. Kjørte System Restore til før Windows Update og da fungerte også programmet. Problem Solved ! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå