MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Como pegar a ID ou algo assim da placa mãe?

    Compartilhe

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Como pegar a ID ou algo assim da placa mãe?

    Mensagem  criquio em Sex 12 Mar 2010, 19:35

    Amigos, estou com uma dúvida aqui. Como eu poderia substituir essa expressão Trim(objProc.ProcessorID) para pegar a ID ou algo assim da placa mãe? Eu tentei MotherboardID e MainboardID mas não funcionou. Será que existe algo nesse sentido?


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: Como pegar a ID ou algo assim da placa mãe?

    Mensagem  JPaulo em Sex 12 Mar 2010, 21:36

    Olá Criquio;

    Amigão, Habilite a referência VBA Microsoft WMI Scripting Library

    Num módulo cole;

    Public Function IDMotherboard() As String
    Dim objs As Object

    Dim obj As Object
    Dim WMI As Object
    Dim sAns As String


    Set WMI = GetObject("WinMgmts:")
    Set objs = WMI.InstancesOf("Win32_BaseBoard")
    For Each obj In objs
    sAns = sAns & obj.SerialNumber
    If sAns < objs.Count Then sAns = sAns & ","
    Next
    IDMotherboard = sAns
    End Function

    Para chamar:
    Private Sub Form_Current()
    Me.SuaCaixaTexto.Value = IDMotherboard
    End Sub


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Como pegar a ID ou algo assim da placa mãe?

    Mensagem  criquio em Sex 12 Mar 2010, 21:58

    Obrigado amigo JPaulo!
    A minha ideia era usar o id da placa mãe como serial para habilitar meus sistemas, pois ela seria a última peça a ser substituída em um pc, sendo que nesse caso o usuário estaria trocando o pc todo por outro, mas muitas das vezes é preciso habilitar a visualização das informações referentes à placa mãe no pc, pois elas costumam vir desabilitadas e nesse caso esse recurso não funcionaria, pois desenvolvi um sistema que, na primeira abertura, já checa o serial do processador e inclui ele em uma tabela e a partir daí toda vez que o bd for aberto, será feita a pesquisa nessa tabela. Se o serial lá gravado for o mesmo do processador do pc, ele abre normalmente o formulário inicial, se não for, significa que copiaram o sistema pra outro pc e aí abre uma janela restrita informando o fato e fechará em seguida. Vou continuar usando o id do processador mesmo em conjunto com mais alguns recursos de segurança.
    Inclusive, queria uma opinião sua sobre os sistemas de segurança que você usa e como os implementa.
    Grande abraço.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: Como pegar a ID ou algo assim da placa mãe?

    Mensagem  JPaulo em Seg 15 Mar 2010, 10:03

    Bom dia Criquio;

    Existem mil maneiras de fazer Nestum.

    Uma dela que eu costumo utilizar é;

    1º Ocultar as tabelas
    2º Colocar Password no VBA
    3º Desabilitar a tecla Shift
    4º Criar um ficheiro txt vazio, e renomeá-lo de (um nome esquisito para não ser fácil de detetar) exemplo: SDHDJABXP.DLL e
    descarregue-o em \Windows\system32

    Quando o banco abrir, abre um form oculto que cheka assim:

    Private Sub Form_Open(Cancel As Integer)
    If Len(Dir("C:\Windows\System32\SDHDJABXP.DLL")) Then
    DoCmd.OpenForm "frmPrincipal", acNormal, "", "", , acNormal
    Else
    MsgBox "Copia inválida, o sistema vai fechar..."
    Application.Quit
    End If
    End Sub



    Ainda podemos criar uma tabela de nome:

    TabelaSerial

    Com um campo de nome:

    IdentificacaoHD

    Colocar esta função num módulo protegido:

    Function NumeroSerieUnidadesHD()
    Dim ObjetoWMI As Object
    Dim UnidadHD As Object
    Dim UnidadesHD As Object
    Dim rst As Recordset
    Dim db As Database
    On Error Resume Next
    DoCmd.RunSQL "DELETE TabelaSerial.* FROM TabelaSerial"

    Set db = CurrentDb
    Set rst = db.OpenRecordset("TabelaSerial")
    Set ObjetoWMI = GetObject("WINMGMTS:")
    Set UnidadesHD = ObjetoWMI.InstancesOf("Win32_PhysicalMedia")

    For Each UnidadHD In UnidadesHD
    With rst
    .AddNew
    !IdentificacaoHD = Trim(UnidadHD.SerialNumber)
    .Update
    End With
    Next
    rst.Close
    End Function


    Saber antecipadamente o numero de serie e chekar com o que foi introduzido na tabela.


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Como pegar a ID ou algo assim da placa mãe?

    Mensagem  criquio em Seg 15 Mar 2010, 15:34

    Beleza JPaulo. Creio que podemos ainda criar um arquivo oculto e deixar na pasta System com algum texto dentro e programar o bd para checar se o arquivo está lá e se tem o texto exigido nesse arquivo, se possível, tudo criptografado.
    Existem muitas possibilidades que, combinadas, tornam a vida dos metidos a espertos bem mais complicadas na hora de tentar burlar o sistema.
    Claro que tem gente com conhecimentos suficientes para burlar a maioria dos métodos, mas creio que esses não precisariam burlar esses métodos, pois eles tem capacidade de criar seus próprios sistemas de maneira que os atendam melhor, não é verdade? rsrsrs.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    Registrado : 06/11/2009

    Ler HD

    Mensagem  Assis em Seg 15 Mar 2010, 22:22

    Aqui
    [Você precisa estar registrado e conectado para ver este link.]

    Gilberto Rocha
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1022
    Registrado : 21/01/2010

    Re: Como pegar a ID ou algo assim da placa mãe?

    Mensagem  Gilberto Rocha em Qua 05 Maio 2010, 14:25

    Assis poste novamente seu exemplo, ou Criquio vc pode enviar o exemplo de como não abrir o form caso o serial seja de outra placa mãe?

    Abraços

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: Como pegar a ID ou algo assim da placa mãe?

    Mensagem  JPaulo em Qua 05 Maio 2010, 15:33

    Public Function MostraIDPlacaMae() As String
    Dim objs As Object
    Dim obj As Object
    Dim WMI As Object
    Dim sAns As String

    Set WMI = GetObject("WinMgmts:")
    Set objs = WMI.InstancesOf("Win32_BaseBoard")
    For Each obj In objs
    sAns = sAns & obj.SerialNumber
    If sAns < objs.Count Then sAns = sAns & ","
    Next
    MostraIDPlacaMae = sAns
    End Function


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    Gilberto Rocha
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1022
    Registrado : 21/01/2010

    Re: Como pegar a ID ou algo assim da placa mãe?

    Mensagem  Gilberto Rocha em Qui 06 Maio 2010, 12:10

    Bom dia Paulão, valeus, vou testar aqui depois dou retorno!!
    Very Happy

    Gilberto Rocha
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1022
    Registrado : 21/01/2010

    Re: Como pegar a ID ou algo assim da placa mãe?

    Mensagem  Gilberto Rocha em Qui 06 Maio 2010, 14:14

    Paulo, bom dia, seguinte, o valor fica assim:

    xxxxxxxxxxx

    é normal?

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Como pegar a ID ou algo assim da placa mãe?

    Mensagem  criquio em Qui 06 Maio 2010, 23:38

    Tambem recebi esses caracteres no lugar do serial da mainboard. Pelo que sei, a placa mãe vem configurada para não ter acesso ao serial, por questão de segurança. Creio que para ele ser visualizado, será necessário configurarmos isso. Ainda não entrei a fundo na questão, mas acho que vale a pena pesquisar a respeito.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    Registrado : 06/11/2009

    Re: Como pegar a ID ou algo assim da placa mãe?

    Mensagem  Assis em Sex 07 Maio 2010, 18:36

    Aqui vai Ler HD

    [Você precisa estar registrado e conectado para ver este link.]

    erilioaraujo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 18/01/2012

    Função de verificação de arquivo não funciona

    Mensagem  erilioaraujo em Qui 06 Out 2016, 14:07

    Bom dia!
    Amigo Jpaulo  implementei esta função mas não esta funcionando preciso que você me ajude  a implementa-la.

    Private Sub Form_Current()
    If Len(Dir("C:\Windows\System32\protectecc.txt")) Then
    DoCmd.OpenForm "frmLogin", acNormal, "", "", , acNormal
    Else
    MsgBox "Copia inválida, o sistema vai fechar..."
    Application.Quit
    End If
    End Sub

    apresenta a mensagem e fecha o o sistema  mesmo com o arquivo protectecc.txt inserido no system32.

    Obrigado!

      Data/hora atual: Dom 04 Dez 2016, 06:00