Jump to content
Fórum Script Brasil
  • 0

Code Para Expiraçao De Arquivo


sange
 Share

Question

bem turma nesse link http://scriptbrasil.com.br/forum/index.php?showtopic=104981 aqui do forum de office mesmo estou perguntando se há como fazer com o o arquivo de excel espire depois de um tempo coisa de alguns dias ..... se alguém poder me ajuda na contruçao do code ou ate mesmo postando apostilas que possa solucionar meu problema eu agradesso.....

outra cousa como saber o N° de serie do HD????....

valeu,,...

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Bom pra saber o numero serial do HD ou CD ou Disquete você pode usar esta função

Private Declare Function GetVolumeInformation Lib _
        "kernel32" Alias "GetVolumeInformationA" _
        (ByVal lpRootPathName As String, ByVal _
        lpVolumeNameBuffer As String, ByVal _
        nVolumeNameSize As Long, _
        lpVolumeSerialNumber As Long, _
        lpMaximumComponentLength As Long, _
        lpFileSystemFlags As Long, ByVal _
        lpFileSystemNameBuffer As String, ByVal _
        nFileSystemNameSize As Long) As Long

Public Function DriveSerial(ByVal Drive As _
       String) As Long
  'Valor que retornará o serial do HD
  Dim RetVal As Long

  Dim HDNameBuffer As String * 256 'Nome do HD
  Dim FSBuffer As String * 256     'FS do HD
  Dim a As Long                    'auxiliar
  Dim b As Long                    'auxiliar

  Call GetVolumeInformation(Drive, HDNameBuffer, _
       256, RetVal, a, b, FSBuffer, 256)

  DriveSerial = RetVal
End Function
E pode usala assim
MsgBox Hex(DriveSerial("C:\"))

você pode usar o Environ para saber qual é a unidade padrão

lembrando que esse serial pode mudar ao se formatar o HD e é possivel clonar o HD obtendo o mesmo serial

você de estar querendo criar alguma coisa como licença para poder acessar o seu sistema ou planilha né?

bom eu to criando um sistema que faz isso

ele é mais ou menos assim

quando você abre o sistema ele verifica no registro do Windows se você tem uma licença valida se não tiver ele abre uma telinha informando um GUID (Numero randomico universal que não repete) e pede o nome de usuário e tem um outro campo pedindo o numero de série.

O numero de serie é criado apenas por mim atravez do GUID, nome de usuario e numero do HD.

quando aparece esta tela o usuario clica em um botão "Enviar requisição de licença" onde eu recebo o arquivo com os dados, crio um numero de serie e informo ao usuario que digita e clica em validar fazendo assim o sistema verificar se a chave é verdadeira se for salva no registro os dados inclusive a data de registro.

quando o sistema esta licenciado ele verifica a diferença entre datas e o numero do HD se qualquer informação estiver fora do normal ele bloqueia o sistema.

bom é mais ou menos isso acho que já deu pra te adiantar alguma coisa

eu estou terminando o código acho que na proxima segunda eu já terminei, ai eu te do uma ajuda, beleza!

bom mas qualquer urgencia é só postar beleza!!!!

Fui!!!

Link to comment
Share on other sites

  • 0

Anderson, quando li o código que mencionei sobre vincular uma planilha a um número de série do HD li que era o número de fabricação do HD, portanto ele não pode ser randômico como você explicou. A explicação que li foi que para descobrir esse valor teria que abrir o computador e ver. Para mim isso é um pouco hipotético, porém como nunca me interessei de me aprofundar mais no assunto deixei o assunto em stand by.

Link to comment
Share on other sites

  • 0

Anderson Fernandes: valeu cara, mas, como você havia dito se o usuario por a segurança das macro em um nivel mais auto o script não funciona e o usuario tem todo o acesso.....pensando nisso, não há como força de alguma alguma formas fazer com que a segurançao fique baixa ao executar o arquivo, ou então aprimorar um pouco mais esse code..????/

Mais uma coisa, onde usar esse code ??? e em prompt ou onde????

RenatoMejias:

Qualquer coisa mande uma MP para reabrir o caso se necessário.

renato o que venha a ser esse MP?? (assim mencionado no outro tópico)

outra coisa se o HD for formatado o N° gravado nele não vai mudar como dito ali em cima, então não adianta abrir para ver...!!!???/

valewww a ajuda....!!!//

Edited by sange
Link to comment
Share on other sites

  • 0
Mais uma coisa, onde usar esse code ??? e em prompt ou onde????

Bom você quer dizer onde coloca a função que pega i numero de serie?

Esse código deve ser colocado em um módulo.

Aonde você pode encontrar o módulo:

Bom você sabe como abrir a tela do VBA né? (ALT + F11)

Para criar um novo módulo é só clicar em um icone com a seta pra baixo na barra de ferramentas do VBA

---------------------------------

Bom eu tambem já tive algumas dificuldades com nivel de segurança de Macros.

E pra falar a verdade não sei se é possivel mudar isso de alguma forma se não for manualmente.

Porque se você criar um script para abaixar o nivel de seguraça não adiantaria muito já que o script só seria executado se o nivel estiver no baixo.

----------------------------------

E a questão do numero do HD.

O HD tem o seu numero de serie de fabrica.

esse numero não pode ser mudado

porem não tenho certeza quanto a esse numero que é conseguido via script, pois já ouvi boatos de que na verdade esse numero de serie obtido por script na realidade seria um outro numero que é criado randomicamente quanto se formata o HD

e por isso ele poderia ser cópiado com o Goost (programa que clona HD) ou poderia ser gerado outro quando alguém formatar o HD.

Eu nunca fiz o teste pra saber se isso é verdade ou não.

Se alguém testar por favor me fale.

Link to comment
Share on other sites

  • 0

renato o que venha a ser esse MP?? (assim mencionado no outro tópico)

MP = Mensagem Pessoal, note acima no canto direito do fórum:

0 nova mensagem

É um serviço mensageiro que o fórum dispõem para comunicação interna entre os usuários.

E pra falar a verdade não sei se é possivel mudar isso de alguma forma se não for manualmente.

Sim tem, precisa ter um certificado digital (não me pergunte como obtê-lo)

O HD tem o seu numero de serie de fabrica.

esse numero não pode ser mudado

Exato, é um valor inalterável. Se tiver um tempo testo esse seu código no fim de semana.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...