pbreda Posted September 10, 2009 at 03:13 PM Report Share #286331 Posted September 10, 2009 at 03:13 PM Boas, Como é que implemento um sistema de licenças nos meus programas???? Como é que faço esse sistema??? Cumprimentos.... Qualquer coisa esfrega a lampada!!!Visite Banco de Software e desfrute do software disponível xD Link to comment Share on other sites More sharing options...
fLaSh_PT Posted September 10, 2009 at 04:11 PM Report Share #286339 Posted September 10, 2009 at 04:11 PM Boas; Faz um algoritmo que se baseie no ID de algum hardware.. Foi o que fiz em algumas das soluções que criei.. Aqui tens um exemplo de uma keygen: http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=1411&lngWId=10 Adaptas o projecto no user name.. substituis por algo como referi a cima.. HID.. Caso queiras usar este código que desenvolvi.. serve para obter o ID baseado no Hard Disc.. 'API para ler o numero de serie do disc rigido.. Private Declare Function GetVolumeInformation _ Lib "Kernel32" Alias "GetVolumeInformationA" ( _ ByVal lpRootPathName As String, _ ByVal lpVolumeNameBuffer As String, _ ByVal nVolumeNameSize As Integer, _ ByRef lpVolumeSerialNumber As Integer, _ ByRef lpMaximumComponentLength As Integer, _ ByRef lpFileSystemFlags As Integer, _ ByVal lpFileSystemNameBuffer As String, _ ByVal nFileSystemNameSize As Integer _ ) As Integer 'Função para ler o nº de serie do hard disc '(valor em Hex Decimal) Public Function HDSerialNumber() As String Try Dim Serial As Integer 'Serial numero Dim VName, FSName As String 'Cria buffers VName = New String(Chr(0), 255) 'Volume nome FSName = New String(Chr(0), 255) 'File system 'Volume informação GetVolumeInformation(GetCurrentDrive(), VName, 255, Serial, 0, 0, FSName, 255) 'Elemina chr$(0)'s VName = Left(VName, InStr(1, VName, Chr(0)) - 1) FSName = Left(FSName, InStr(1, FSName, Chr(0)) - 1) 'Converte valor long para hex Return Hex(Serial) Catch ex As Exception g_objLog.AddErr(ex) Return "" End Try End Function Public ReadOnly Property GetCurrentDrive() As String Get Try Return Left(My.Application.Info.DirectoryPath(), 3) Catch ex As Exception Return "C:\" End Try End Get End Property Compr. Making the impossible possible and pwing the world on db at a time. Link to comment Share on other sites More sharing options...
pbreda Posted September 10, 2009 at 05:44 PM Author Report Share #286352 Posted September 10, 2009 at 05:44 PM Como é que faço para validar a chave??? Qualquer coisa esfrega a lampada!!!Visite Banco de Software e desfrute do software disponível xD Link to comment Share on other sites More sharing options...
jpaulino Posted September 10, 2009 at 07:12 PM Report Share #286355 Posted September 10, 2009 at 07:12 PM Vê outro exemplo: Licensing a VB.Net application Link to comment Share on other sites More sharing options...
Google Posted September 11, 2009 at 05:29 PM Report Share #286491 Posted September 11, 2009 at 05:29 PM se for algo profissional podes-te basear num servidor que por exemplo assim que arranque na primeira vez gere umas 500 000 keys. Na aplicação verificas se a key está livre, caso esteja altera o valor correspondente da variável 👍 Bem, afinal estou só a pensar 🙂 porque eu próprio não sei se o conseguiria fazer mas penso que seja possível Link to comment Share on other sites More sharing options...
pbreda Posted September 11, 2009 at 05:42 PM Author Report Share #286494 Posted September 11, 2009 at 05:42 PM humm...estou a ver.... Qualquer coisa esfrega a lampada!!!Visite Banco de Software e desfrute do software disponível xD Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now