[ Aleksandar Ružičić @ 17.01.2009. 22:32 ] @
Potrebna mi je informacija o brzini cpu-a, potrazih malo na netu i na msdnu i videh da se to radi pomocu WMI-a (necu da citam tu informaciju iz registrija, nesto mi se ne cini pouzdanom i preciznom...) tacnije pomocu ManagmentObject-a iz System.Managment nejmspejsa.

e sad, problem je sto ja nemam tu klasu (?!?!!) vidim je lepo u object browser-u (public class ManagementObject : System.Management.ManagementBaseObject Member of System.Management) ali niti je dobijam preko intelisensa niti uspevam da kompajliram kod (kompajler ne moze da pronadje klasu)...

stavljao sam i uses System.Managment (gde bi i trebala da se nalazi klasa) i uses System.Managment.Instrumentation ali nista...

kod:
Code:

using System;
using System.Management;

namespace Termometar {

    static class WMI {

        public static uint getCPUSpeed() {

            ManagementObject mo = new ManagementObject("Win32_Processor.DeviceID='CPU0'");
            uint speed = (uint)(mo["CurrentClockSpeed"]);
            mo.Dispose();

            return speed;
        }
    }
}


menjao sam i verziju frejmvorka (3.5, 3.0 i 2.0) ali ne vredi...
[ mmix @ 18.01.2009. 00:02 ] @
jesi dodao asembli u references?
[ Aleksandar Ružičić @ 18.01.2009. 09:27 ] @
dooooobro... sada se osecam prilicno glupo :/

zar ne bi trebao uses automatski da doda referencu? pff...

u svakom slucaju, hvala i izvinjavam se na glupom pitanju :)
[ mmix @ 18.01.2009. 09:41 ] @
Nije, asembli se automatski dodaje samo kroz designer kad iz toolbar-a ubacis neku kontrolu koja jos nije referencirana, a i to radi samo zato sto se pri registraciji toolbar-a VS-u kaze koji asembliji su neophodni.

uses ne moze automatski da doda referencu iz par razloga:

1. Ne zna u kom asembliju se nalazi taj namespace
2. Cak iako izindeksira sve klase u GAC-u, mozda asembli nije tamo
3. Cak i kad bi znao gde su svi asembliji i svi namespaceovi, sanse su da mozda neki namespace postoji u dva ili vise asemblija, pa postaje diskutabilno koji bi trebalo ukljuciti ;)

zato to ni ne rade. Problem je sto su ljudi navikli da im je sve iz System.* spaceova vec u startu referencirano, sto vise nije slucaj.


[ Aleksandar Ružičić @ 18.01.2009. 10:33 ] @
Citat:
mmix: Problem je sto su ljudi navikli da im je sve iz System.* spaceova vec u startu referencirano, sto vise nije slucaj.

egzakli :)

mada, mene buni sto mi intelisense posle System. daje Managment u listi, po nekoj logici to bi znacilo da je vec referencirano (kad dodam referencu dobijem i opciju da koristim namespace definisan u tom asembliju) ali dobro, sad je to nebitno... hvala jos jednom :)