Microsoft.Win32.Registry

venerdì 02 gennaio 2004 - 13.32

19018 Profilo | Expert

Con la funzione GetValue mi restituisce il valore, ma come faccio a farmi restituire anche il tipo di valore??ad esempio come faccio a sapere se il valore restituito è di tipo REG_SZ , Dword o altro???

Brainkiller Profilo | Guru

Ciao,
non mi pare ci sia un metodo per recuperare il tipo di valore nel Framework. Sicuramente puoi ricorrere alle Win32API e all'interoperabilità per saperlo, certo è una via ostica.
Cmq. fondamentalmente, dal registry escono due tipi di dati REG_SZ e DWORD quindi stringa e numeri interi.
Potresti assegnarli a stringa e poi riconoscere con un casting o un Convert.ToInt32() se è un intero.
Un Multi_SZ invece ritorna un array di stringhe.

Perchè tu hai necessità di capire che tipo di valore arriva dal registro ?
Ciao

david

19018 Profilo | Expert

Si è vero non c'è un modo!mi sono informato infatti nella ver.2 del framework ci sarà un metodo che farà appunto questo!Allora diciamo che devo scrivere una classe a cui gli passo una chiave del registro e il nome di un file,questa classe deve leggere tutti i valori della chiave e passarli su un file!ora sul file ci deve essere nomevalore,valore e possibilmente anche il tipo visto che ci sarà un'altra classe che fa il contrario...legge dal file e ricrea esattamente quella chiave con tutti i suoi valori!!come risolvo???

Brainkiller Profilo | Guru

Ok capito, interessante.
Beh non saprei, se non è implementata nel Framework come ti dicevo è necessario usare l'interoperabilità, l'API mi pare sia questa RegQueryValueEx.
Un consiglio personale, se ti è possibile, cerca di abbandonare il Registro, usa file .xml che sono decisamente più comodi. Nella presentazione di Windows Longhorn a Los Angeles non a caso si è detto che prima avevamo i file .ini poi hanno creato il registro (un disastro sotto alcuni punti di vista), ora torneremo ai file .ini (che ora si chiamano .xml).
Ciao

david
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5