Regisrty geeft geen waarde!!

Status
Niet open voor verdere reacties.

luck7

Gebruiker
Lid geworden
10 feb 2009
Berichten
791
Hallo

ik gebruik in m'n programma deze code om de naam van de CPU te achterhalen:

Code:
 Dim CPUName As String
         CPUName = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0", "ProcessorNameString", "error")

maar er komt steeds niks uit. een lege string. terwijl er toch op z'n minst "error!" zou moeten staan of niet?
en er zitten geen spelfouten in!

iemand enig idee?

bedankt
Luck
 
Heb je wel in je register gekeken of de waarde van ProcessorNameString niet leeg is? Want bij mij werkt de code perfect.
Veel succes!
 
Oke,
Probeer eens een andere register sleutel en kijk of je daarmee ook een probleem hebt deze op te halen.
Misschien raar maar heb je het al eens getest of het werkt buiten de debugger dus naar de bin/release folder gaan en de exe vandaar runnen. Mijn debugger in VB2010 heeft zelf ook zo een probleem alleen niet met register sleutels maar hij wilt de drag n drop event niet doorvoeren als ik debug, maar wel als ik de exe zelf run.

Veel succes.
 
Gokje, je draait een 64bits systeem
Dan probeert hij vermoedelijk de waarde uit de syswow6432 hyve te lezen
Compile hem voor "AnyCpu"
 
het ligt niet aan de debugger. wel bedankt voor de tip, had het kunnen zijn, ik heb daar indd ook wel eens problemen mee.

@Ellasar; ik heb geen idee waar je het over hebt ;p
heb indd 64bit maar hoe verander ik dat waar jij het over hebt?

thanks
 
@luck7
Als je Visual Basic (elke versie) express gebruikt kan je die optie niet aanpassen. En ik heb ook een 64-bit en heb getest met VB 2010 express. Dus daar zal het ook niet aan liggen.
Heb je dan geprobeert met andere register sleutel?

@Ellasar wat is een 'hyve'? En wat heeft de SysWOW6432 er mee te maken? (we zijn bezig over het register)
 
Laatst bewerkt:
andere sleutel werkt ook niet. en als ik de naam met opzet verkeerd spel, komt er ook niks te staan; dus ook niet "error"
 
Oke,
Ik heb snel eens een code gemaakt die ook werkt voor mij maar nu op een andere manier.
Code:
Dim CPUName As String
         CPUName = Registry.LocalMachine.OpenSubKey("HARDWARE\DESCRIPTION\System\CentralProcessor\0").GetValue("ProcessorNameString", "error").ToString()

Hopelijk werkt deze wel,
Veel succes!
 
geniaal ;D
die doet het, moest wel ff my.computer voor Registry zetten maar nu doet die het. TOP echt super bedankt!
 
Ow bijna vergeten je moest nog een import erbij zetten :p
Code:
Imports Microsoft.Win32
Daarin zit de Registry class en nog veel meer.
Ben blij dat deze het wel doet :thumb:
 
@Ellasar wat is een 'hyve'? En wat heeft de SysWOW6432 er mee te maken? (we zijn bezig over het register)
Sorry, het moest niet zijn SysWow6432 maar WoW6432Node in het register.
Zoals de program files en System32 een 32bits duplicaat heeft heeft het register dat ook voor verschillende onderdelen. deze zit onder andere in HKLM\Software en heeft de 32bits values staan, nu was mijn gedachtegang dat voor hardware er mogelijk ook zo'n sectie zou zijn. blijkbaar niet en gelukkig is het opgelost :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan