Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Protezione Appplicazione

    Ciao a tutti ragazzi.
    Volevo proteggere un programma dalla pirateria, e per farlo, avevo pensato ad implementare un sistema di chiavi che viene generata ecc ecc.

    Solo che viene fuori un problema, cioè dove memorizzo poi l'informazione che il programma è stato sbloccato?

    Allora mi avevano detto che esiste una API di windows che legge i parametri dell'hard disk C:\.

    Quello potrebbe essere una buona soluzione solo che non conosco la funzione e non ho trovato in giro come si usa.

    Qualcuno saprebbe come aiutarmi?? Grazie!
    Paperina :-)

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    245
    io ho trovato questo tipo in rete !!!!

    ' Ottenere il numero seriale dell'Hard Disk
    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 Leggi_Seriale()
    Valori = GetVolumeInformation("D:\", Volume, 50, Seriale, Comp_length, System_Flag, SysNameBuffer, FSysNamSize)
    Leggi_Seriale = Seriale
    End Function


  3. #3
    Grazie, solo che non funziona

    Mi restituisce sempre 0, su qualunque volume gli indico.

    Alto?
    Paperina :-)

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    245
    Mi Spiace.... :master:
    questo codice l'avevo trovato in rete e pensavo di utilizzarlo in un futuro.... ma in realtà non l'avevo ancora testato !!!!
    Se trovo altro ti faccio sapere

  5. #5
    La procedura riportata non funziona perchè mancano delle dichiarazioni di variabile. Prova questa:
    codice:
    'dichiarazione API
    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 
    
    'in una procedura
    Dim ret As Long          'valore di ritorno
    Dim vnb As String * 50   'buffer per Volume Name
    Dim vsn As Long          'Volume Serial Number
    Dim mcl As Long          'Maximum Component Length
    Dim fsf As Long          'File System Flags
    Dim fsnb As String * 10  'buffer per File System Name
    
    ret = GetVolumeInformation("C:\", vnb, Len(vnb), vsn, mcl, fsf, fsnb, Len(fsnb))
    
    If ret <> 0 Then
       Debug.Print "Volume Name              : " & vnb
       Debug.Print "Volume Serial Number     : " & vsn
       Debug.Print "Maximum Component Length : " & mcl
       Debug.Print "File System Flags        : " & fsf
       Debug.Print "File System Name         : " & fsnb
    End If
    Spesso il numero seriale viene espresso in esadecimale: basta usare la funzione Hex$()
    Chi non cerca trova.

  6. #6
    Utente di HTML.it L'avatar di Beziel
    Registrato dal
    Oct 2002
    Messaggi
    697
    tas funziona anche con .net?!?

  7. #7
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    :master: skusa tas, come puoi utilizzare una funzione del genere? Io stavo pensando, una volta ke il mio programma parte prende le info dell'hd e le scrive sul un file es. c:\windows\system\info.dat
    Tu ke dici ???

    ps. grazie x il tuo codice

  8. #8
    Originariamente inviato da Beziel
    tas funziona anche con .net?!?
    In linea di massima no, bisogna ritoccare qualcosa... la prima cosa che mi viene in mente è nella Declare della funzione API: al posto di Long va messo Integer, al posto di String... non so, dovrei spulciare su un libro ma l'ho prestato!
    Chi non cerca trova.

  9. #9
    Originariamente inviato da yyzyyz
    :master: skusa tas, come puoi utilizzare una funzione del genere? Io stavo pensando, una volta ke il mio programma parte prende le info dell'hd e le scrive sul un file es. c:\windows\system\info.dat
    Tu ke dici ???

    ps. grazie x il tuo codice
    Si, magari criptandolo, altrimenti sarebbe troppo facile sproteggerti il programma...
    Chi non cerca trova.

  10. #10
    Utente di HTML.it L'avatar di Beziel
    Registrato dal
    Oct 2002
    Messaggi
    697
    ho cambiato le variabili long in integer e tolto le stringhe a lunghezza fissa dal momento che in vb.net non sono + utilizzabili, ma non funziona come numero di serie dell' hd mi da 0.

    Qlc può aiutarmi?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.