2012-03-20 9 views
7

Sto testando un'applicazione esistente nell'anteprima consumer di Windows 8 e si blocca al momento dell'avvio. I file di registro indicano che si trova nel metodo in cui eseguo alcune convalide sull'ID della CPU e sui dettagli della scheda di rete.I metodi WMI Win32_Processor e Win32_NetworkAdapterConfiguration sono disponibili in Windows 8?

Per fare questo, io chiamo

 ManagementClass mc = new ManagementClass("Win32_Processor"); 
     ManagementObjectCollection moc = mc.GetInstances(); 
     foreach (ManagementObject mo in moc) 
     { 
      if (cpuInfo.Length == 0) 
      { 
       // only return cpuInfo from first CPU 
       cpuInfo = mo.Properties["ProcessorId"].Value.ToString(); 
      } 
     } 

(Si noti che questa applicazione funziona bene su Windows 7 e versioni precedenti).

Quindi utilizzo la stessa sintassi per l'aggancio in Win32_NetworkAdapterConfiguration e ottenere le proprietà IPEnabled, IPAddress [] e MACAddress.

Ma da qualche parte qui sta andando in crash.

Ho cercato di effettuare ricerche in questo già, e ho trovato il seguente Windows 8 server list of WMI classes and methods e quelli che sto usando non sono su di esso. Tuttavia, lo stesso sito ha anche una lista di Windows 7 WMI classes and methods, e anche in questo caso non ci sono! (Anche se funziona su Windows 7, nessun problema).

Quindi, dal suo aspetto, non è supportato.

Il MSDN per ManagementClass indica che il metodo is still present in .NET 4.5. Inoltre, this Microsoft resource elenca in modo esplicito Win32_Processor e Win32_NetworkAdapterConfiguration, con i metodi necessari.

Quindi, dai link, puoi vedere che ho provato a cercare questo, quindi questa è la mia ultima fermata nel tentativo di risolvere questo mistero.

La mia app è originariamente una soluzione .NET 2.0 creata in Visual Studio 2005. Ho installato Visual Studio 2011 Beta nella mia VM di anteprima consumer di Windows 8, insieme all'ultimo SQL 2012 Express. Ho provato a importare il mio progetto in questo Visual Studio ma non lo carica, dicendomi che supporta solo lo sviluppo Metro. Pertanto non posso eseguire il debug di questo problema sulla macchina stessa.

Quindi la mia domanda è specifica che queste classi esistono in Windows 8? Se lo fanno, allora cosa sto sbagliando? Se non lo fanno, allora ho bisogno di trovare un modo per ottenere queste informazioni - ma suppongo che sia una domanda separata ;-)

+3

Non riesco a credere che avrebbero rimuoverli, modo rapido per testare; scarica WMICC e usa la sua GUI per vedere se sono elencati/cosa ti aspetti http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8572 –

+0

Nota a margine: Visual Studio 2011? Non c'è [niente di simile] (http://www.danielmoth.com/Blog/Visual-Studio-11-Not-2011.aspx), nemmeno in Beta. Al momento è disponibile una beta versione 11, ma non è stato annunciato alcun nome del prodotto finale. Alta probabilità di essere nominato 2012 anche se. –

+0

Ciao grazie, ho usato il WMICC e in effetti è lì! Penso che possa aver contribuito in quanto l'ID del processore che ha recuperato era vuoto. Forse a causa di me che corro in una VM? Per quanto riguarda la denominazione VS 2011/11, mi scuso - è quello che ottieni su www.microsoft.com/express che è per Windows 8 ;-) – Mike

risposta

2

Questo è stato risposto, ma purtroppo solo nei commenti sul mio post originale, di Alex K. Usando http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8572 Sono stato in grado di identificare questi metodi esistono, quindi penso che sia un problema di codifica in quanto il mio codice è leggermente diverso da quello che viene generato da tale utilità.

5

Posso confermare quali entrambe le classi WMI (Win32_Processor e Win32_NetworkAdapterConfiguration) esistono e funzionano sotto in Windows 8 Developer Preview.

FYI della lista che il vostro riferirvi ha il titolo Windows 8 Server WMI Classes with Methods, il che significa WMI Classes which had methods.

enter image description here

enter image description here

Strumento utilizzato per controllare WMI Delphi Code Creator

Problemi correlati