Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Chiave di Registro in VB.NET
lunedì 26 giugno 2006 - 17.02
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Lorenzogtidancer
Profilo
| Newbie
14
messaggi | Data Invio:
lun 26 giu 2006 - 17:02
Salve a tutti,
voglio creare una chiave di registro in VB.NET dove inserire il valore di una data.
Qualcuno può aiutarmi?
Grazie di cuore.
lorenzogtidancer...
revontulet
Profilo
| Junior Member
106
messaggi | Data Invio:
lun 26 giu 2006 - 18:25
ciao
trovi un ottimo articolo di BrainKiller proprio qui
http://www.dotnethell.it/articles/WindowsRegistry.aspx
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
mar 27 giu 2006 - 21:48
Ho dovuto scrivere una chiave di registro per salvarci il path dell'ultimo file aperto o salvato, così da riposizionarmici sopra al successivo riutilizzo del programma, che usa sia OpenFileDialog, che SaveFileDialog. Pertanto ho dovuto creare una chiave in un percorso che ho deciso di creare col nome di chi commercializzerà l'applicazione.
Il primo passo, nel mio caso, è creare il percorso:
''' <summary>
''' Qualora non esistano la chiave e/o il campo del registro, preposti alla memorizzazione del nome del file,
''' procede a crearli ed inizializzarli
''' </summary>
''' <remarks></remarks>
Private Sub CreaChiaveSeNonEsiste()
Try
Dim nomi As String() = Registry.LocalMachine.OpenSubKey("Software").GetSubKeyNames
If Array.IndexOf(nomi, NomeSottoChiave) < 0 Then
'Se non esiste la sottochiave per la mainsistemi, allora andrà creata sia quella che l'apposito campo
Registry.LocalMachine.OpenSubKey("Software", True).CreateSubKey(NomeSottoChiave)
Registry.LocalMachine.OpenSubKey("Software", True).OpenSubKey(NomeSottoChiave, True).SetValue(NomeCampoRegistroPerPath, Application.StartupPath)
Else
'Se la sottochiave esiste, bisogna verificare se esiste il campo, altrimenti va creato e inizializzato
If Array.IndexOf(Registry.LocalMachine.OpenSubKey("Software").OpenSubKey(NomeSottoChiave).GetValueNames, NomeCampoRegistroPerPath) < 0 Then
'se qui, il campo non esiste
Registry.LocalMachine.OpenSubKey("Software").OpenSubKey(NomeSottoChiave, True).SetValue(NomeCampoRegistroPerPath, Application.StartupPath)
End If
End If
Catch ex As Exception
MessageBox.Show("Si è verificato il seguente errore nella procedura 'CreaChiaveSeNonEsiste' : " & ex.Message)
End Try
End Sub
Poi si può leggere il valore:
''' <summary>
''' Legge il valore stringa, contenuto in NomeCampo e lo restituisce mediante il parametro ValorediRitorno (ByRef)
''' Il campo lo si cerca in LocalMachine\Sotware\MainSistemi.
''' Se qualcosa va storto, torna=false
''' </summary>
''' <param name="ValoreDiRitorno">Stringa nella quale verrà copiato il valore recuperato</param>
''' <param name="NomeCampo">Nome del campo da leggere</param>
''' <returns></returns>
''' <remarks></remarks>
Public Function LeggiValoreDa_LocalMachine_Software_MainSistemi(ByRef ValoreDiRitorno As String, ByVal NomeCampo As String) As Boolean
LeggiValoreDa_LocalMachine_Software_MainSistemi = True
Try
ValoreDiRitorno = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey(NomeSottoChiave).GetValue(NomeCampo).ToString
Catch ex As Exception
MessageBox.Show("Si è verificato il seguente errore nella procedura 'LeggiValoreDa_LocalMachine_Software_MainSistemi' : " & ex.Message)
LeggiValoreDa_LocalMachine_Software_MainSistemi = False
End Try
End Function
Oppure scriverlo :
''' <summary>
''' Scrive nel campo NomeCampo, il valore stringa contenuto nel parametro ValoreDaScrivere
''' Il campo lo si cerca in LocalMachine\Sotware\MainSistemi.
''' Se qualcosa va storto, torna=false
''' </summary>
''' <param name="ValoreDaScrivere"></param>
''' <param name="NomeCampo"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Function ScriviValoreIn_LocalMachine_Software_MainSistemi(ByVal ValoreDaScrivere As String, ByVal NomeCampo As String) As Boolean
ScriviValoreIn_LocalMachine_Software_MainSistemi = True
Try
Registry.LocalMachine.OpenSubKey("Software", True).OpenSubKey(NomeSottoChiave, True).SetValue(NomeCampo, ValoreDaScrivere)
Catch ex As Exception
MessageBox.Show("Si è verificato il seguente errore nella procedura 'ScriviValoreIn_LocalMachine_Software_MainSistemi' : " & ex.Message)
ScriviValoreIn_LocalMachine_Software_MainSistemi = False
End Try
End Function
Il codice è in VB2005, con tutti i commenti del caso che appaiono nell'intellisense.
I nomi delle funzioni sono un po' lunghetti lo ammetto, ma danno subito l'idea di cosa fanno
Torna su
Stanze Forum
Elenco Threads
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 !