[PAYLAŞIM] Bilgisayara Göre Program Lisanslamak

  • Konbuyu başlatan Konbuyu başlatan deva_31
  • Başlangıç tarihi Başlangıç tarihi

deva_31

New Member
Kalemi Kırıldı!
Katılım
27 Eyl 2009
Mesajlar
1,126
Reaction score
1
Puanları
0
Konum
Hatay / ANTAKYA
Merhabalar :-:
Bilgisayarın sık değişmeyecek olan özelliklerini alırsınız (örneğin anakart seri numarası, hdd donanımsal seri numarası, bios sürümü vb...), bir şekilde bu sayılardan eşsiz bir başka sayı oluşturursunuz. Programınız bu sayıyla sizin vereceğiniz bir kayıt numarasını karşılaştırır, eğer birbirlerine uyarlarsa programı etkinleştirirsiniz.

Basit bir örnek:
Anakartımın markası asus, ilk harfini aldım: A,
anakartımın seri numarasının son kısmı 3421, son iki hanesini aldım: 21,
ismim ahmet, soy ismim rıza: Ahmri aldım.
Birleştiriyorum A21AHMRI. Her karakterin ascii karşılıklarını buluyorum:




Kod:
[U]65 50 49 65 72 77 82 73[/U]


bu sayıyı 1*10^8'den çıkartıyorum. Bulduğum sayı lisans numarası olarak vereceğiniz sayı.

Peki ne olur:
Programınız A21AHMRI bilgisini toplar ve kullanıcıya gösterir. Kullanıcı size bu bilgiyi ulaştırır. Siz bu koddan yukarıdaki şekilde bir lisans anahtarı oluşturur ve kullanıcıya verirsiniz. Kullanıcı verdiğiniz numarayı girer. Programınız ilk ürettiği kodla sizin verdiğiniz kodun uyuşup uyuşmadığına bakar. Eğer uyuşuyorsa lisanlanmış demektir.

Visual Basic ten anlayan arkadaşların zorlanmıyacağına inanıyorum..:^^:


İyi Forumlar..
 
Cevap: [PAYLAŞIM] Bilgisayara Göre Program Lisanslamak

Ben de vb kodlarını vereyim.İhtiyacı olan arkadaşları olabilir.

Gerekliler:
1 adet drivelistbox
1 adet label
1 adet command

Function:

Kod:
Private Declare Function GetVolumeInformation Lib _
"kernel32.dll" Alias "GetVolumeInformationA" (ByVal _
lpRootPathName As String, ByVal lpVolumeNameBuffer As _
String, ByVal nVolumeNameSize As Integer, _
lpVolumeSerialNumber As Long, lpMaximumComponentLength _
As Long, lpFileSystemFlags As Long, ByVal _
lpFileSystemNameBuffer As String, ByVal _
nFileSystemNameSize As Long) As Long
Function SeriNoAl(strDrive As String) As Long
Dim SerialNum As Long
Dim Res As Long
Dim Temp1 As String
Dim Temp2 As String
Temp1 = String$(255, Chr$(0))
Temp2 = String$(255, Chr$(0))
Res = GetVolumeInformation(strDrive, Temp1, _
Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
SeriNoAl = SerialNum
End Function
Form:
Kod:
Private Sub Command1_Click()
If Label1.Caption = "946752591" Then  'HDD SERİAL
Me.Hide
Form2.Show
Else
MsgBox "Bu Yazılım Sizin İçin Kodlanmamıştır !"
End If
End Sub

Private Sub Drive1_Change()
Label1.Caption = Trim(Str(Abs(SeriNoAl(Left(Drive1.Drive, 2) & "\"))))
End Sub

Private Sub Form_Load()
Label1.Caption = Trim(Str(Abs(SeriNoAl(Left(Drive1.Drive, 2) & "\"))))
End Sub
 
Moderatör tarafında düzenlendi:
Cevap: [PAYLAŞIM] Bilgisayara Göre Program Lisanslamak

fikir kolay paylaşım nerde göremedim ? o dediğin şeyleri bulabilmek icin functionlar nerde.. ?
boş konu. ben vereyim bari :pff:

Gerekliler:
1 adet drivelistbox
1 adet label
1 adet command

Function:

Kod:
Private Declare Function GetVolumeInformation Lib _
"kernel32.dll" Alias "GetVolumeInformationA" (ByVal _
lpRootPathName As String, ByVal lpVolumeNameBuffer As _
String, ByVal nVolumeNameSize As Integer, _
lpVolumeSerialNumber As Long, lpMaximumComponentLength _
As Long, lpFileSystemFlags As Long, ByVal _
lpFileSystemNameBuffer As String, ByVal _
nFileSystemNameSize As Long) As Long
Function SeriNoAl(strDrive As String) As Long
Dim SerialNum As Long
Dim Res As Long
Dim Temp1 As String
Dim Temp2 As String
Temp1 = String$(255, Chr$(0))
Temp2 = String$(255, Chr$(0))
Res = GetVolumeInformation(strDrive, Temp1, _
Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
SeriNoAl = SerialNum
End Function
Form:
Kod:
Private Sub Command1_Click()
If Label1.Caption = "946752591" Then  'HDD SERİAL
Me.Hide
Form2.Show
Else
MsgBox "Bu Yazılım Sizin İçin Kodlanmamıştır !"
End If
End Sub

Private Sub Drive1_Change()
Label1.Caption = Trim(Str(Abs(SeriNoAl(Left(Drive1.Drive, 2) & "\"))))
End Sub

Private Sub Form_Load()
Label1.Caption = Trim(Str(Abs(SeriNoAl(Left(Drive1.Drive, 2) & "\"))))
End Sub
Boş konu diyip altına gereksiz kodlar yazdığın dalgayı geçmek için 3 saniyemi harcar mıyım acaba?3 saniye sürmeyebilir.O zaman seninki de boş paylaşım.3 saniyede geçeceğim bir olay için en az 3 dakika uğraştın.Seninki de boş...

Paylaşımın içeriği hakkında eleştiri yapabilirsiniz ama kimsenin paylaşıma "boş" diyemezsiniz.Arkadaşımız uğraşmış, bir fikir vermiş.Eğer geliştirilebilirse geliştir, eksiği varsa söyle.Ama "boş" deme.
 
Cevap: [PAYLAŞIM] Bilgisayara Göre Program Lisanslamak

Güzel Paylaşım knk Tebrikler :)
 
Cevap: [PAYLAŞIM] Bilgisayara Göre Program Lisanslamak

güzel paylaşm mustafa
 
Cevap: [PAYLAŞIM] Bilgisayara Göre Program Lisanslamak

güzel bilgi saol mustafa
 
Geri
Üst Alt