Prikazi cijelu temu 12.11.2016 14:54
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Lokacija:Tuzla


Predmet:Re: Registracija aplikacije
Eto ja pregledah i dat cu svoje misljenje.
Prvo sto mi se ne svidja je svaranje po registijima i to na pricipu shela do vb ima svoju naredbu za upis u registrije i sigurniji je sto se tice verzija op. sistema.

Dobro da krenemo od pocetka.
Prvo podizemo formu F_registration i tu imamo produkt kod.
Evo kako se generise:
ProductCode = Version & "-" & Mid(DateInstalled, 1, 3) & "-" & Mid(DateInstalled, 4, 3) & "-" & Mid(DateInstalled, 7, 2)

Do prve crtice je verzija programa koja je tako nezgrapno uradjena.
Napr ja bih je zapisao u neku tabelu pa odatle citao ili pak napraviio kao konstantu.
Ovako je obicnom korisniku to tesko naci gdje da promijeni.
Evo te procedure:
PreuzmiIzvorni kôd (Visual Basic):
  1. Function WriteToReg1()
  2.     Dim RegKey As String
  3.     Dim RegObj
  4.     Dim Value As String
  5.     Dim WTR1 As Object
  6. 'Writes the Version Number in the Registry
  7. 'This can be done by Package Solution Wizard  
  8.    RegKey = "HKCU\SOFTWARE\MyApp\Version"
  9. 'Version in the format X.X.X
  10. 'X is between 0 and 9
  11.    Value = "1.2.3"
  12.     Set WTR1 = CreateObject("WScript.Shell")
  13.     WTR1.RegWrite RegKey, Value, "REG_SZ"
  14. End Function

Znaci obican korisnik bi morao verziju programa ovdje mijenjati.
Na slican nacin zapisuje u registrije i datum instalacije pa poslije cita u produkt kodu.
Znaci produkt kod je generisanma instalacije i verzije programa.

Po meni ako hocemo da imamo produkt kod odnosno broj proizvoda onda to treba da generise vlasnik programa i da ti posalje.
Mada to i nije toliko bitno.

Dalje imamo formu F_Generator gdje se na osnovu produkt koda generise registracioni kod.
Ova je procedura jos gora
PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub ButtonGenerate_Click()
  2.  
  3. 'Add your own error handling / validation
  4.  
  5. On Error Resume Next
  6.  
  7.     Dim A, B, C, D, E, F, G, H, I, J, K, L, M
  8.  
  9. 'Gets the first part of the code
  10.  
  11.     A = Mid(Code1, 1, 1)
  12.     B = Mid(Code1, 2, 1)
  13.     C = Mid(Code1, 3, 1)
  14.  
  15. 'Gets the second part of the code
  16.  
  17.     D = Mid(Code1, 4, 1)
  18.     E = Mid(Code1, 5, 1)
  19.     F = Mid(Code1, 6, 1)
  20.     G = Mid(Code1, 7, 1)
  21.     H = Mid(Code1, 8, 1)
  22.     I = Mid(Code1, 9, 1)
  23.     J = Mid(Code1, 10, 1)
  24.     K = Mid(Code1, 11, 1)
  25.  
  26. 'Shows the Version Number on the form
  27.  
  28.     VersionNumber = A & "." & B & "." & C
  29.  
  30. 'Shows the Date Installed on the form
  31. 'Unscrambles the date
  32. 'Format = DDMMYYYY
  33. 'D1 Y1 D2 Y2 M1 Y3 M2 Y4
  34.  
  35.     DateInstalled = D & F & "/" & H & J & "/" & E & G & I & K
  36.  
  37. 'Generate the first part of the Registration Code
  38.  
  39.     Dim hexno1, x1
  40.     Dim Unlock1 As String
  41.  
  42.     hexno1 = A & B & C
  43.     For x1 = 1 To Len(hexno1) Step 2
  44.  
  45.     Next
  46.     Unlock1 = CLng("&h" & hexno1)
  47.  
  48. 'Generate the second part of the Registration Code
  49.  
  50.     Dim hexno2, x2
  51.     Dim Unlock2 As String
  52.  
  53.     hexno2 = D & E & F & G & H & I & J & K
  54.     For x2 = 1 To Len(hexno2) Step 2
  55.  
  56.     Next
  57.     Unlock2 = CLng("&h" & hexno2)
  58.  
  59. 'Generate the Registration Code
  60. 'Splits the second part in two
  61. '4 digits then the rest
  62.  
  63.     L = Mid(Unlock2, 1, 4)
  64.     M = Mid(Unlock2, 5, 20)
  65.  
  66.     Code2 = Unlock1 & "-" & L & "-" & M
  67.  
  68. End Sub
Prvo dimenzionisanje variabli
dim a,b,c, d itd
Umjesto napr Dim esto(brojMem)
Onda tu imaju i dvije petlje koje nista ne rade.
For x1 = 1 To Len(hexno1) Step 2
' ovdje bi trebao biti neki kod ako hocemo da nam petlja nesto radi
'Ovako petlja se izvrti na prazno.
Next

Na kraju se generise registracioni kod a u stvari samo se datum i verzija ispisuju heksadecimalno.
Ne provjerava ni hardver niti bilo sta dugo sem datuma i verzije.

I na kraju ima dvije procedure unlocker1 i unlocker2 koje u stvari rade isto sto i ova gore procedura.
To mu je provjera dali je program registrovan.
Ima tu i onih 30 dana demo.

Ima na forumu uputstvo i sve procedure izradjene za registraciju programa sa provjerom diska ili mat ploce nesto nisam siguran ali svejedno imate dll
na forumu koji cita hardver pa mozete preko njega procitati sto zelite.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.