Número serial do HD - Anti cópia

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Número serial do HD - Anti cópia

Mensagem por Hasse »

Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Número serial do HD - Anti cópia

Mensagem por lugab »

Sorrry, Hasse, but this link is broken.....

Código: Selecionar todos

 http://www.wizdownloads.com/download/Wi ... serial-dll

Page not found

The page you are looking for does not exist.
It's possible that you typed the address incorrectly, or that the page no longer exists.

You can try to use the search on top to find the page you wanted.
lugab
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Número serial do HD - Anti cópia

Mensagem por Hasse »

Então vamos mudar a forma de proceder.
Digitar no Google:
"Diskserial.dll download", que aparecem centenas de sites para downloads.

ou colar o código abaixo na janela de URL:
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
esgici
Usuário Nível 1
Usuário Nível 1
Mensagens: 34
Registrado em: 27 Ago 2012 14:51
Localização: Turkiye
Contato:

Número serial do HD - Anti cópia

Mensagem por esgici »

Saudação
Esgici
Viva Clipper !
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Número serial do HD - Anti cópia

Mensagem por asimoes »

Só funciona com IDE
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Número serial do HD - Anti cópia

Mensagem por JoséQuintas »

asimoes escreveu:Só funciona com IDE
Não entendi.

Código: Selecionar todos

FUNCTION DriveSerial( cDisk )

   hb_Default( @cDisk, "C:\" )

   RETURN Transform( Padl( hb_NumToHex( VolSerial( cDisk ) ), 8 ), "@R XXXX-XXXX" )
hbmk2 -find serial

hbct.hbc (installed):
VolSerial()
https://github.com/vszakats/hb/blob/mas ... isk.c#L224
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Número serial do HD - Anti cópia

Mensagem por asimoes »

Testei com no meu notebook que é SSD não retornou nada, não testei com a sua função.
Testei agora com a sua função funciona, mas existem outras formas usando a classe Win32_DiskDrive

Acho que esse serial é do windows quando ele instala e não do hd, do hd é usando a classe Win32_DiskDrive método SerialNumber
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Número serial do HD - Anti cópia

Mensagem por asimoes »

2021-03-07 22_00_06-QUERY.png
2021-03-07 22_02_58-Greenshot.png
2021-03-07 22_04_38-Greenshot.png
Usando a classe Win32_DiskDrive
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Número serial do HD - Anti cópia

Mensagem por JoséQuintas »

Aquele serial que mostrei é o que o Windows coloca no drive após formatar.
Pra um uso geral tá bom.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Número serial do HD - Anti cópia

Mensagem por asimoes »

Descobri que essa classe tras também o serial do windows

Código: Selecionar todos

 FOR EACH oDiskDrive IN oWMIServerA2:ExecQuery( "SELECT * FROM Win32_LogicalDisk" )
      hRecord := Nil
      hRecord := {=>}
      hRecord["Caption"]            := oDiskDrive:Caption
      hRecord["Description"]        := oDiskDrive:Description
      hRecord["FileSystem"]         := oDiskDrive:FileSystem
      hRecord["ProviderName"]       := oDiskDrive:ProviderName
      hRecord["Purpose"]            := oDiskDrive:Purpose
      hRecord["Size"]               := oDiskDrive:Size
      hRecord["Status"]             := oDiskDrive:Status
      hRecord["SystemName"]         := oDiskDrive:SystemName
      hRecord["VolumeName"]         := oDiskDrive:VolumeName
      hRecord["VolumeSerialNumber"] := oDiskDrive:VolumeSerialNumber
      aAdd( aResp, hRecord )
   NEXT
2021-03-10 11_29_26-QUERY.png
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Número serial do HD - Anti cópia

Mensagem por malcarli »

Ola Asimoes, como chamou ela? tem alguma lib a ser linkada?
Att.

Marcelo A. L. Carli
Marília/SP
Capital Nacional do Alimento ®

https://malc-informatica.ueniweb.com
http://marcelo.lx.com.br
Email / Skype: malcarli@life.com.br
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Número serial do HD - Anti cópia

Mensagem por asimoes »

Tenta usar, se houver error na compilação o hbmk2 vai dar a dica da lib necessária

aDiskInfo := GetDiskInformation()

Vai retonar um vetor hash

Código: Selecionar todos

FUNCTION GetDiskInformation()
LOCAL cDiskNum AS STRING := "", cPnPDeviceID AS STRING := "", oDiskDrive AS OBJECT
LOCAL oWMIObjA AS OBJECT, oWMIServerA AS OBJECT, oWMIDiskDrive AS OBJECT, oWMIObjA2 AS OBJECT, oWMIServerA2 AS OBJECT, ;
      oWMILogicalDisk AS OBJECT

   oWMIObjA := Win_OleCreateObject( "wbemScripting.SwbemLocator" )
   
   oWMIServerA := oWMIObjA:ConnectServer()
   
   aResp := {}
  
   FOR EACH oDiskDrive IN oWMIServerA:ExecQuery( "SELECT * FROM Win32_LogicalDisk" )
      hRecord := Nil
      hRecord := {=>}
      hRecord["Caption"]            := oDiskDrive:Caption
      hRecord["Description"]        := oDiskDrive:Description
      hRecord["FileSystem"]         := oDiskDrive:FileSystem
      hRecord["ProviderName"]       := oDiskDrive:ProviderName
      hRecord["Purpose"]            := oDiskDrive:Purpose
      hRecord["Size"]               := oDiskDrive:Size
      hRecord["Status"]             := oDiskDrive:Status
      hRecord["SystemName"]         := oDiskDrive:SystemName
      hRecord["VolumeName"]         := oDiskDrive:VolumeName
      hRecord["VolumeSerialNumber"] := oDiskDrive:VolumeSerialNumber
      aAdd( aResp, hRecord )
   NEXT
   
   FOR EACh oDiskDrive IN oWMIServerA:ExecQuery( "SELECT * FROM Win32_DiskDrive" )
      hRecord := Nil
      hRecord := {=>}
      hRecord["SerialNumber"] := oDiskDrive:SerialNumber
      hRecord["Manufacturer"] := oDiskDrive:Manufacturer
      hRecord["MediaType"]    := oDiskDrive:MediaType
      hRecord["Partitions"]   := oDiskDrive:Partitions
      hRecord["Size"]         := oDiskDrive:Size
      hRecord["Caption"]      := oDiskDrive:Caption
      hRecord["Description"]  := oDiskDrive:Description
      hRecord["DeviceID"]     := oDiskDrive:DeviceID
      hRecord["Model"]        := oDiskDrive:Model
      hRecord["SystemName"]   := oDiskDrive:SystemName
      aAdd( aResp, hRecord )
   NEXT
   
RETURN aResp
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Número serial do HD - Anti cópia

Mensagem por Softwhouse »

Olá ASimões,

Pode mostrar como ver as informações do retorno do vetor aDiskInfo ?

Obrigado.
Fernando
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Número serial do HD - Anti cópia

Mensagem por asimoes »

Softwhouse escreveu:Olá ASimões,

Pode mostrar como ver as informações do retorno do vetor aDiskInfo ?

Obrigado.

Código: Selecionar todos

LOCAL oElemento

FOR EACH oElemento In aDiskInfo 
   ? oElemento["VolumeSerialNumber"]
NEXT
Ou

cVolumeSerialNumber := aDiskInfo[1]["VolumeSerialNumber"]
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Número serial do HD - Anti cópia

Mensagem por Softwhouse »

Valeu, obrigado.
Fernando
Responder