Torna al Thread

''' <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 SbrCreaChiaveSeNonEsiste() Try Dim nomi As String() = Registry.LocalMachine.OpenSubKey("Software").GetSubKeyNames ' Dim NomiDeiSoftware As String() = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey(NomeSottoChiaveAzienda).GetSubKeyNames If Array.IndexOf(nomi, CstNomeSottoChiaveAzienda) < 0 Then 'Se non esiste la sottochiave per la mainsistemi, non esiste neppure quella per il software specifico, allora andranno 'create entrambe; più l'apposito campo Registry.LocalMachine.OpenSubKey("Software", True).CreateSubKey(CstNomeSottoChiaveAzienda) Registry.LocalMachine.OpenSubKey("Software", True).OpenSubKey(CstNomeSottoChiaveAzienda, True).CreateSubKey(CstNomeSottoChiaveProgramma) Registry.LocalMachine.OpenSubKey("Software", True).OpenSubKey(CstNomeSottoChiaveAzienda, True).OpenSubKey(CstNomeSottoChiaveProgramma, True).SetValue(CstNomeCampoRegistroPerPath, Application.StartupPath) Else Dim NomiDeiSoftware As String() = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey(CstNomeSottoChiaveAzienda).GetSubKeyNames If Array.IndexOf(NomiDeiSoftware, CstNomeSottoChiaveProgramma) < 0 Then 'Se invece manca la sottochiave per il software, si crea solo quella, più l'apposito campo Registry.LocalMachine.OpenSubKey("Software", True).OpenSubKey(CstNomeSottoChiaveAzienda, True).CreateSubKey(CstNomeSottoChiaveProgramma) Registry.LocalMachine.OpenSubKey("Software", True).OpenSubKey(CstNomeSottoChiaveAzienda, True).OpenSubKey(CstNomeSottoChiaveProgramma, True).SetValue(CstNomeCampoRegistroPerPath, 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(CstNomeSottoChiaveAzienda).OpenSubKey(CstNomeSottoChiaveProgramma).GetValueNames, CstNomeCampoRegistroPerPath) < 0 Then 'se qui, il campo non esiste Registry.LocalMachine.OpenSubKey("Software", True).OpenSubKey(CstNomeSottoChiaveAzienda, True).OpenSubKey(CstNomeSottoChiaveProgramma, True).SetValue(CstNomeCampoRegistroPerPath, Application.StartupPath) End If End If End If Catch ex As Exception MessageBox.Show(Procedure.FnzPreparaDescrizioneErroreXMessageBox(ex)) End Try End Sub ''' <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\TGen2005 ''' 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 FnzLeggiValoreDa_LocalMachine_Software_MainSistemi(ByRef ValoreDiRitorno As String, ByVal NomeCampo As String) As Boolean FnzLeggiValoreDa_LocalMachine_Software_MainSistemi = True Try ValoreDiRitorno = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey(CstNomeSottoChiaveAzienda).OpenSubKey(CstNomeSottoChiaveProgramma).GetValue(NomeCampo).ToString Catch ex As Exception MessageBox.Show(FnzPreparaDescrizioneErroreXMessageBox(ex)) FnzLeggiValoreDa_LocalMachine_Software_MainSistemi = False End Try End Function ''' <summary> ''' Scrive nel campo NomeCampo, il valore stringa contenuto nel parametro ValoreDaScrivere ''' Il campo lo si cerca in LocalMachine\Sotware\MainSistemi\TGen2005 ''' Se qualcosa va storto, torna=false ''' </summary> ''' <param name="ValoreDaScrivere">Stringa da memorizzare</param> ''' <param name="NomeCampo">Nome del campo in cui verrà inserita la stringa</param> ''' <returns></returns> ''' <remarks></remarks> Public Function FnzScriviValoreIn_LocalMachine_Software_MainSistemi(ByVal ValoreDaScrivere As String, ByVal NomeCampo As String) As Boolean FnzScriviValoreIn_LocalMachine_Software_MainSistemi = True Try Registry.LocalMachine.OpenSubKey("Software", True).OpenSubKey(CstNomeSottoChiaveAzienda, True).OpenSubKey(CstNomeSottoChiaveProgramma, True).SetValue(NomeCampo, ValoreDaScrivere) Catch ex As Exception MessageBox.Show(FnzPreparaDescrizioneErroreXMessageBox(ex)) FnzScriviValoreIn_LocalMachine_Software_MainSistemi = False End Try End Function
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5