Testattu järjestelmä (XP +Visual Basic 6 pro +SP 5)
Vanhemmissa kuin W2k ja ME käyttöjärjestelmissä tulee olla asennettuna Microsoftin WMI, joka löytyy osoitteesta:
http://www.microsoft.com/downloads/details.aspx?
Luo Formille kolme Labelia ja nimeä ne seuraavasti:
Lbl_prossu
Lbl_nopeus
Lbl_merkki
edit: Lisätty yksi Label, joka näyttää prosessorin merkin. Samoin korjattu listauksesta Nextin paikka.
Tuossa on käytetty siksi Nextiä, että jos koneessa on useampi prosessori, niin se listaa ne kaikki. Tällöin olisi hyvä laajentaa label useampi riviseksi ja lisätä noiden rivien perään rivinvaihto, jotta tiedot tulee eri riveille.
Esim: Lbl_merkki.Caption = obj2.name & Chr$(13) + Chr$(10)
' General Declarations kohtaan tämä Private QueryObject As Object
Private Sub Form_Load() Set obj = GetObject("winmgmts:").InstancesOf("Win32_Processor") For Each obj2 In obj ' Haetaan prosessorin merkki Lbl_merkki.Caption = obj2.Name ' Haetaan Prosessorin tarkemmat tiedot Lbl_prossu.Caption = obj2.Caption ' Haetaan Prosessorin nopeus Lbl_nopeus.Caption = obj2.currentclockspeed & " Mhz" Next End Sub
Hyvä koodi, toimii vb.net:lläkin kun muistaa määritellä objektit etukäteen.
toi Next on väärällä rivillä, muuten toimii... miksi siinä kestää noin kauan?
ei toimi (vb6, win98)
herjaa error 432 eli File name or class name not found during Automation operation ja debuggaus sanoo virheen olevan rivillä
Set obj = GetObject("winmgmts:").InstancesOf(
ja Private QueryObject As Object
on kirjoitettu ylös - niin ylös ku koodi-ikkunaa riittää mikä on vikana?
no class name not found, eli sulla ei ole jotain ihmeellistä tiedostoa joka osaisi kertoa ton. Sama juttu mun win95:llä... :(
Vikailmoitus johtuu siitä, että WMI:tä ei ole asennettu koneeseen. W2k, ME ja siitä uudemmissa se tulee käyttiksen mukana, aikaisempiin versioihin se on erikseen ladattava.
Samoin Visual Basicin Service Pack 4 on oltava asennettuna tai uudempi, jotta sen saa toimimaan suoraan ajettuna Visual Basicista.
nääh ai nii...:P
Ottakaa kaikki Win XP Professional niin ongelmia ei tule
<pilkun_viilaus>
Megahertz lyhennetään MHz, ei Mhz
</pilkun_viilaus>
Älkää ottanut nyt tosissaan, mulla on vain tylsää C++ -tunneilla.
voisko joku laittaa sen iha kokonaisena koodina?
Hyvä koodi ;P Mulla ainaki toimii vb6 win xp
Aihe on jo aika vanha, joten et voi enää vastata siihen.