Imports fatd_faturamento.BLL.Repositorio
Imports fatd_faturamento.ENTIDADE
Public Class frmLogin

#Region "Propriedades"

    Private Sub frmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim bAtualizaByLauncher As Boolean

        Try

            '[Verifica se o Microsoft .NET Framework 3.5 está instalado. Se não estiver, sai do programa]
            If Not IsDotNet35Installed() Then
                End
            End If

            Dim f As New frmAguarde
            f.Show(Me)

            '// Seta o nome do sistema
            vstrNomeSistema = "Fatf.net"

            '[Verifica se o form de configuração do MySQL está aberto. Se estiver, fecha]
            If frmMySqlConfig.Visible = True Then
                frmMySqlConfig.Close()
            End If

            '[Pega as informações do banco MySql no registro do Windows]
            vMySqlHostName = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\New Service System\" & vstrNomeSistema, "MySqlHostName", "")
            vMySqlUserName = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\New Service System\" & vstrNomeSistema, "MySqlUserName", "")
            vMySqlPassWord = Crypt(My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\New Service System\" & vstrNomeSistema, "MySqlPassWord", ""))
            vMySqlPort = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\New Service System\" & vstrNomeSistema, "MySqlPort", "")
            vMySqlDataBase = String.Empty

            '[Indica que o sistema não foi iniciado pelo Launcher] - false
            moduleGlobal.launchedByLauncher = False

            '[O parametro NSS é passado pois é o primeiro banco de dados no qual irá acessar as tabelas, para que possa ser pego os dados das outras]
            vMySqlDataBase = "NSS"

            '[O mesmo realiza um update no AppSettings para atualizar as variaves de banco alterando o valor . somente passando a chave que quer alterar]
            UpdateAppSettingsBD("NSS")

            '[Verifica se as informações do banco MySql foram cadastradas]
            If vMySqlHostName = Nothing Or vMySqlUserName = Nothing Or vMySqlPassWord = Nothing Or vMySqlPort = Nothing Then

                If f.Visible Then f.Close()

                MessageBox.Show("Uma ou mais informações referentes ao banco de dados MySQL estão ausentes." & vbCrLf & vbCrLf & "Por favor, preencha corretamente as informações a seguir.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
                frmMySqlConfig.Show()
                Me.Close()

                '[Passa o nome do form que chamou para o form frmMySqlConfig]
                frmMySqlConfig.vFormQueChamou = Me.Name

                Exit Sub

            Else

                '[Se as informações do banco MySQL estiverem cadastradas, verifica se elas estão corretas]
                If Not ConectarMySQL() Then
                    If f.Visible Then f.Close()

                    MessageBox.Show("Não foi possível conectar ao banco de dados MySQL selecionado." & vbCrLf & vbCrLf & "Por favor, verifique se as informações a seguir estão corretas.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    frmMySqlConfig.Show()
                    Me.Close()

                    '[Passa o nome do form que chamou para o form frmMySqlConfig]
                    frmMySqlConfig.vFormQueChamou = Me.Name

                    Exit Sub
                End If

            End If

            Me.labelServidor.Text = vMySqlHostName
            Me.labelServidor.Visible = Debugger.IsAttached

            If f.Visible Then f.Close()

            Dim linhaComando As String = Command()

            ''linhaComando = "/u:nss /s:nss2021*"

            '[##### Se o nome de usuário e a senha foram passados por linha de comando, trata aqui #####]
            If Strings.Left(linhaComando.Trim(), 3) = "/u:" Then

                Dim vlist

                Dim login As String = String.Empty
                Dim senha As String = String.Empty
                Dim empresa As String = String.Empty
                Dim opcoes As String = String.Empty
                Dim tela As String = String.Empty
                Dim nf As String = String.Empty
                Dim grupo As String = String.Empty
                Dim mesanofat As String = String.Empty
                Dim email As String = String.Empty
                Dim microgeracao As String = String.Empty
                Dim microgeracaodistribuida As String = String.Empty



                Dim inicioLogin As Integer = 0
                Dim inicioSenha As Integer = 0
                Dim inicioEmpresa As Integer = 0
                Dim inicioTela As Integer = 0

                Dim objUsuario As New entidadeUsuario
                Dim repositorioUsuario As New repositorioUsuario
                Dim objRastreamento As New entidadeRastreamento
                Dim repositorioRastreamento As New repositorioRastreamento

                inicioLogin = linhaComando.IndexOf("/u:")
                inicioSenha = linhaComando.IndexOf("/s:")

                If linhaComando.Contains("/f:") Then

                    inicioTela = linhaComando.IndexOf("/f:")
                    login = Mid(linhaComando, inicioLogin + 4, (inicioSenha) - (inicioLogin + 4))
                    senha = Mid(linhaComando, inicioSenha + 4, (inicioTela) - (inicioSenha + 4))
                    opcoes = Mid(linhaComando, inicioTela + 4)

                    '[Indica que o sistema foi iniciado pelo Launcher]
                    moduleGlobal.launchedByLauncher = False
                Else
                    login = Mid(linhaComando, inicioLogin + 4, (inicioSenha) - (inicioLogin + 4))
                    senha = Mid(linhaComando, inicioSenha + 4)

                    '[Indica que o sistema foi iniciado pelo Launcher]
                    moduleGlobal.launchedByLauncher = True
                End If

                '[Verifica se login e senha de desenvolvedor/administrador foram digitados]
                If LCase(login) = "admin" And senha = vSenha_admin Then
                    '[Guarda os dados do usuário logado no sistema]
                    objUsuario.ID = 0
                    objUsuario.LOGIN = "admin"
                    objUsuario.SENHA = vSenha_admin
                    objUsuario.NOME = "Administrador"
                    objUsuario.PERFIL_MENU = 0

                    vUsuario.ID = objUsuario.ID
                    vUsuario.LOGIN = objUsuario.LOGIN
                    vUsuario.SENHA = objUsuario.SENHA
                    vUsuario.NOME = objUsuario.NOME
                    vUsuario.TIPOACESSO = "Administrador"
                    vUsuario.PERFIL_MENU = objUsuario.PERFIL_MENU

                    If opcoes = "" Then
                        frmPrincipal.Show()
                    Else
                        Dim opcoes1 = opcoes.Split(";")

                        tela = opcoes1(0)
                        grupo = opcoes1(1)
                        mesanofat = opcoes1(2)
                        nf = opcoes1(3)
                        email = opcoes1(4)
                        microgeracao = opcoes1(5)
                        microgeracaodistribuida = opcoes1(6)

                        Dim frmIFat As New frmImpFaturas(nf, grupo, mesanofat, email, microgeracao, microgeracaodistribuida)
                        frmIFat.Show()
                        Dispose()

                    End If

                    Exit Sub
                Else
                    '[Verifica se login e senha de usuário NSS foram digitados]
                    If Strings.LCase(login) = "nss" And senha = vSenha_nss Then
                        '[Guarda os dados do usuário logado no sistema]
                        objUsuario.ID = 999
                        objUsuario.LOGIN = "nss"
                        objUsuario.SENHA = vSenha_nss
                        objUsuario.NOME = "Usuário NSS"
                        objUsuario.PERFIL_MENU = 0

                        vUsuario.ID = objUsuario.ID
                        vUsuario.LOGIN = objUsuario.LOGIN
                        vUsuario.SENHA = objUsuario.SENHA
                        vUsuario.NOME = objUsuario.NOME
                        vUsuario.TIPOACESSO = "Limitado"
                        vUsuario.PERFIL_MENU = objUsuario.PERFIL_MENU

                        If opcoes = "" Then
                            frmPrincipal.Show()
                        Else
                            Dim opcoes1 = opcoes.Split(";")

                            tela = opcoes1(0)
                            grupo = opcoes1(1)
                            mesanofat = opcoes1(2)
                            nf = opcoes1(3)
                            email = opcoes1(4)
                            microgeracao = opcoes1(5)
                            microgeracaodistribuida = opcoes1(6)

                            Dim frmIFat As New frmImpFaturas(nf, grupo, mesanofat, email, microgeracao, microgeracaodistribuida)
                            frmIFat.Show()
                            Dispose()

                        End If

                        Exit Sub
                    End If
                End If

                objUsuario.LOGIN = login

                vlist = repositorioUsuario.Select(objUsuario)

                If vlist.Count <> 0 Then

                    For Each objUsuarioFor As entidadeUsuario In vlist

                        If objUsuarioFor.SENHA = Crypt(senha) Then

                            '[Guarda os dados do usuário logado no sistema]
                            objUsuario.ID = objUsuarioFor.ID
                            objUsuario.LOGIN = objUsuarioFor.LOGIN
                            objUsuario.SENHA = objUsuarioFor.SENHA
                            objUsuario.NOME = objUsuarioFor.NOME
                            objUsuario.ADMINISTRADOR = objUsuarioFor.ADMINISTRADOR

                            If IsDBNull(objUsuarioFor.PERFIL_MENU) Then
                                objUsuario.PERFIL_MENU = -1 '[Usuário cadastrado antes de sem implementado o sistema de permissão de menus]
                            Else
                                objUsuario.PERFIL_MENU = objUsuarioFor.PERFIL_MENU
                            End If

                            objUsuario.ULTIMO_ACESSO = DateTime.Now

                            '[Atualiza a data de acesso no cadastro do usuário]
                            repositorioUsuario.Update(objUsuario)

                            '[Grava no registro do Windows o último login utilizado com sucesso]
                            My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\New Service System\" & vstrNomeSistema, "UltimoLoginUtilizado", objUsuarioFor.LOGIN)

                            objRastreamento.DATA = DateTime.Now
                            objRastreamento.DESCRICAO = "Entrou no sistema."
                            objRastreamento.COD_USUARIO = objUsuarioFor.ID
                            objRastreamento.LOGIN_USUARIO = objUsuarioFor.LOGIN
                            objRastreamento.NOME_COMPUTADOR = My.Computer.Name
                            objRastreamento.MAC_ADDRESS = GetMacAddress()
                            objRastreamento.VERSAO = Application.ProductVersion


                            '[Grava rastreamento]
                            repositorioRastreamento.Insert(objRastreamento)


                            vUsuario.ID = objUsuario.ID
                            vUsuario.LOGIN = objUsuario.LOGIN
                            vUsuario.SENHA = objUsuario.SENHA
                            vUsuario.NOME = objUsuario.NOME
                            vUsuario.TIPOACESSO = IIf(objUsuario.ADMINISTRADOR, "Administrador", "Limitado")
                            vUsuario.PERFIL_MENU = objUsuario.PERFIL_MENU

                            If opcoes = "" Then
                                frmPrincipal.Show()
                            Else
                                Dim opcoes1 = opcoes.Split(";")

                                tela = opcoes1(0)
                                grupo = opcoes1(1)
                                mesanofat = opcoes1(2)
                                nf = opcoes1(3)
                                email = opcoes1(4)
                                microgeracao = opcoes1(5)
                                microgeracaodistribuida = opcoes1(6)

                                Dim frmIFat As New frmImpFaturas(nf, grupo, mesanofat, email, microgeracao, microgeracaodistribuida)
                                frmIFat.Show()
                                Dispose()
                                Exit Sub
                            End If

                        Else
                            MessageBox.Show("A senha digitada está incorreta!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                            End
                        End If

                    Next
                Else
                    MessageBox.Show("Usuário não encontrado!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                    End
                End If

            End If
            '[##### Fim do tratamento da linha de comando ##############################################]


            '[Se estiver debugando, preenche usuário e senha automaticamente]
            If Debugger.IsAttached Then
                Me.txtUsuario.Text = "admin"
                Me.txtSenha.Text = vSenha_admin
            Else '[Senão, pega no registro do Windows o último login utilizado com sucesso]
                Me.txtUsuario.Text = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\New Service System\" & vstrNomeSistema, "UltimoLoginUtilizado", "admin")
            End If

            '[Verifica se o arquivo que guarda a versao do executavel existe na pasta do sistema]
            Try
                If Not IO.File.Exists(My.Application.Info.DirectoryPath & "\version.dat") Then
                    IO.File.WriteAllText(My.Application.Info.DirectoryPath & "\version.dat", Application.ProductVersion)
                End If

                '[Verifica se o sistema foi atualizado e informa o usuário]
                Dim strVersionConf As Double = CDbl(IO.File.ReadAllText(My.Application.Info.DirectoryPath & "\version.dat"))
                Dim strVersionExec As Double = CDbl(Application.ProductVersion)

                If strVersionExec > strVersionConf Then
                    IO.File.WriteAllText(My.Application.Info.DirectoryPath & "\version.dat", Application.ProductVersion)
                    MessageBox.Show("O sistema foi atualizado para a versão " & Application.ProductVersion & ".", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
                End If
            Catch ex As Exception

            End Try

            '[Seta o foco no campo correto, de acordo com o preenchimento inicial dos TextBoxes]
            If Me.txtUsuario.Text.Trim <> "" Then
                Me.txtSenha.Select()
            End If

            '[Apaga os arquivos e pastas utilizados pela atualização automática]
            Try : IO.Directory.Delete(My.Application.Info.DirectoryPath & "\UPDATE", True) : Catch ex As Exception : End Try
            Try : IO.File.Delete(My.Application.Info.DirectoryPath & "\update.bat") : Catch ex As Exception : End Try
            Try : IO.File.Delete(My.Application.Info.DirectoryPath & "\update.dat") : Catch ex As Exception : End Try

            '[Verifica se o arquivo `AutoUpdateBatch.dll` existe na pasta do sistema. Se não existir, faz o download do repositório do HelpDesk]
            If Not IO.File.Exists(My.Application.Info.DirectoryPath & "\AutoUpdateBatch.dll") Then
                DownloadFile("http://www.nss.com.br/setores/helpdesk/AutoUpdateBatch.dll", My.Application.Info.DirectoryPath & "\AutoUpdateBatch.dll", , , , GetProxyStatus, GetProxyHost, GetProxyUser, GetProxyPass)
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdSalvar_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
            'MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            'Exit Sub
        End Try

    End Sub

    Private Sub btMySqlConfig_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btMySqlConfig.Click

        Try

            '[Abre o form de configuração do MySQL]
            frmMySqlConfig.Show()
            Me.Close()

            '[Passa o nome do form que chamou para o form frmMySqlConfig]
            frmMySqlConfig.vFormQueChamou = Me.Name

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub btEntrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btEntrar.Click

        Dim vlist

        Dim objUsuario As New entidadeUsuario
        Dim repositorioUsuario As New repositorioUsuario
        Dim objRastreamento As New entidadeRastreamento
        Dim repositorioRastreamento As New repositorioRastreamento

        Try

            '[Verifica se o campo `Usuário` foi preenchido]
            If Me.txtUsuario.Text.Trim = "" Then
                MessageBox.Show("Por favor, digite o nome do usuário.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                Me.txtUsuario.Select()
                Exit Sub
            End If

            '[Verifica se o campo `Senha` foi preenchido]
            If Me.txtSenha.Text.Trim = "" Then
                MessageBox.Show("Por favor, digite a senha.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                Me.txtSenha.Select()
                Exit Sub
            End If

            '[Verifica se login e senha de desenvolvedor/administrador foram digitados]
            If Strings.LCase(Me.txtUsuario.Text) = "admin" And Me.txtSenha.Text = vSenha_admin Then
                '[Guarda os dados do usuário logado no sistema]
                objUsuario.ID = 0
                objUsuario.LOGIN = "admin"
                objUsuario.SENHA = vSenha_admin
                objUsuario.NOME = "Administrador"
                objUsuario.PERFIL_MENU = 0

                vUsuario.ID = objUsuario.ID
                vUsuario.LOGIN = objUsuario.LOGIN
                vUsuario.SENHA = objUsuario.SENHA
                vUsuario.NOME = objUsuario.NOME
                vUsuario.TIPOACESSO = "Administrador"
                vUsuario.PERFIL_MENU = objUsuario.PERFIL_MENU


                frmPrincipal.Show()

                Exit Sub
            Else
                '[Verifica se login e senha de usuário NSS foram digitados]
                If Strings.LCase(Me.txtUsuario.Text) = "nss" And Me.txtSenha.Text = vSenha_nss Then
                    '[Guarda os dados do usuário logado no sistema]
                    objUsuario.ID = 999
                    objUsuario.LOGIN = "nss"
                    objUsuario.SENHA = vSenha_nss
                    objUsuario.NOME = "Usuário NSS"
                    objUsuario.PERFIL_MENU = 0

                    vUsuario.ID = objUsuario.ID
                    vUsuario.LOGIN = objUsuario.LOGIN
                    vUsuario.SENHA = objUsuario.SENHA
                    vUsuario.NOME = objUsuario.NOME
                    vUsuario.TIPOACESSO = "Limitado"
                    vUsuario.PERFIL_MENU = objUsuario.PERFIL_MENU

                    frmPrincipal.Show()

                    Exit Sub
                End If
            End If

            objUsuario.LOGIN = txtUsuario.Text

            vlist = repositorioUsuario.Select(objUsuario)

            If vlist.Count <> 0 Then

                For Each objUsuarioFor As entidadeUsuario In vlist

                    If objUsuarioFor.SENHA = Crypt(txtSenha.Text) Then

                        '[Guarda os dados do usuário logado no sistema]
                        objUsuario.ID = objUsuarioFor.ID
                        objUsuario.LOGIN = objUsuarioFor.LOGIN
                        objUsuario.SENHA = objUsuarioFor.SENHA
                        objUsuario.NOME = objUsuarioFor.NOME
                        objUsuario.ADMINISTRADOR = objUsuarioFor.ADMINISTRADOR

                        If IsDBNull(objUsuarioFor.PERFIL_MENU) Then
                            objUsuario.PERFIL_MENU = -1 '[Usuário cadastrado antes de sem implementado o sistema de permissão de menus]
                        Else
                            objUsuario.PERFIL_MENU = objUsuarioFor.PERFIL_MENU
                        End If

                        objUsuario.ULTIMO_ACESSO = DateTime.Now

                        '[Atualiza a data de acesso no cadastro do usuário]
                        repositorioUsuario.Update(objUsuario)

                        '[Grava no registro do Windows o último login utilizado com sucesso]
                        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\New Service System\" & vstrNomeSistema, "UltimoLoginUtilizado", objUsuarioFor.LOGIN)

                        objRastreamento.DATA = DateTime.Now
                        objRastreamento.DESCRICAO = "Entrou no sistema."
                        objRastreamento.COD_USUARIO = objUsuarioFor.ID
                        objRastreamento.LOGIN_USUARIO = objUsuarioFor.LOGIN
                        objRastreamento.NOME_COMPUTADOR = My.Computer.Name
                        objRastreamento.MAC_ADDRESS = GetMacAddress()
                        objRastreamento.VERSAO = Application.ProductVersion


                        '[Grava rastreamento]
                        repositorioRastreamento.Insert(objRastreamento)

                        vUsuario.ID = objUsuario.ID
                        vUsuario.LOGIN = objUsuario.LOGIN
                        vUsuario.SENHA = objUsuario.SENHA
                        vUsuario.NOME = objUsuario.NOME
                        vUsuario.TIPOACESSO = IIf(objUsuario.ADMINISTRADOR, "Administrador", "Limitado")
                        vUsuario.PERFIL_MENU = objUsuario.PERFIL_MENU


                        frmPrincipal.Show()

                    Else
                        MessageBox.Show("A senha digitada está incorreta!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                        Me.txtSenha.Select()
                        Me.txtSenha.SelectAll()
                    End If

                Next
            Else
                MessageBox.Show("Usuário não encontrado!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                Me.txtUsuario.Select()
                Me.txtUsuario.SelectAll()
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub btCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btCancelar.Click

        Try

            End

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub frmLogin_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

        Try
            Dispose()

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub frmLogin_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown

        Try

            If e.KeyCode = Keys.Enter Then
                SendKeys.Send("{TAB}")
            ElseIf e.Control = True And e.KeyCode = Keys.W Then
                Close()
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub txtUsuario_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtUsuario.GotFocus
        Try

            txtUsuario.SelectAll()

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub txtSenha_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtSenha.GotFocus

        Try

            txtSenha.SelectAll()

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click

        Try
            '[Grava no registro do Windows o último login utilizado com sucesso]
            My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\New Service System\" & vstrNomeSistema, "UltimoLoginUtilizado", Me.txtUsuario.Text)


            MessageBox.Show("O usuário padrão foi alterado para `" & Me.txtUsuario.Text & "`.", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

#End Region


End Class
