23/11/2015, 22:51
Değerli hocalarım diyelim ki uygulamayı yaptık,lisanslama işlemleri vs vs herşey bitti..accde ya da mde yaptık..Programı müşteriye verdik..Buraya kadar sıkıntı yok..
Müşteri almış olduğu uygulamamızı kendi bilgisayarında sorunsuz kullanıyor olsun,arkadaşı ya da arkadaşları ile koplayama şekliyle paylaşmasını engellemek için lisanslama dışında (neden derseniz lisanslama örneğinde nedense bazı bilgisayarlarda lisans sorarken bazılarında sormadan açıyordu) farklı bir yol aradım..
Aşağıdaki gibi bir kod buldum..Lakin nerede nasıl kullanacağımı beceremedim..
Kodun mantığı şu;her kullanıcının bilgisayar adı farklıdır..Bilgisayar adını alıp-açılış formumuzda ya da diğer formların açıldığında olay yordamında kod içine gömüyor..Bilgisayar adı kontrolü buradan yapılıyor..yani tabloya yazmak yok,formda kod içinde yazılıyor..Uygulama kodlarını şifrelediğimiz için kodları müşteri göremiyor ve bilgisayar adı değiştirilemiyor..
Doğal olarak bilgisayar adı "Alinin Bilgisayarı" ise bu formda koda yazılıyor ve uygulama örneğimiz farklı bilgisayara kopyalansa bile bilgisayar adı buradaki ile eşleşmeyeceğinden uygulamamız yeni bilgisayarda çalışmayacaktır.
Bu kodu nasıl kullanmamız gerekmekte lütfen bir yol gösterin..İşte kod;
Option Compare Database
Private Declare PtrSafe Function BakComputerAdi Lib "kernel32" Alias
"GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Private Sub Form_Open(Cancel As Integer)
'******* Giris formu acilisina bilgisayar adini kontrol ettirilebilir *******
if PcMakine <> "m_çakıcı makinesi" then Application.Quit acQuitSaveAll
End Sub
Function PcMakine() As String
Dim Genis As Long, Gosteri As Long, MakBul As String
MakBul = String$(254, 0)
Genis = 255
Gosteri = BakComputerAdi(MakBul, Genis)
If (Gosteri > 0) Then
PcMakine = Left$(MakBul, Genis)
Else
PcMakine = vbNullString
End If
End Function
Müşteri almış olduğu uygulamamızı kendi bilgisayarında sorunsuz kullanıyor olsun,arkadaşı ya da arkadaşları ile koplayama şekliyle paylaşmasını engellemek için lisanslama dışında (neden derseniz lisanslama örneğinde nedense bazı bilgisayarlarda lisans sorarken bazılarında sormadan açıyordu) farklı bir yol aradım..
Aşağıdaki gibi bir kod buldum..Lakin nerede nasıl kullanacağımı beceremedim..
Kodun mantığı şu;her kullanıcının bilgisayar adı farklıdır..Bilgisayar adını alıp-açılış formumuzda ya da diğer formların açıldığında olay yordamında kod içine gömüyor..Bilgisayar adı kontrolü buradan yapılıyor..yani tabloya yazmak yok,formda kod içinde yazılıyor..Uygulama kodlarını şifrelediğimiz için kodları müşteri göremiyor ve bilgisayar adı değiştirilemiyor..
Doğal olarak bilgisayar adı "Alinin Bilgisayarı" ise bu formda koda yazılıyor ve uygulama örneğimiz farklı bilgisayara kopyalansa bile bilgisayar adı buradaki ile eşleşmeyeceğinden uygulamamız yeni bilgisayarda çalışmayacaktır.
Bu kodu nasıl kullanmamız gerekmekte lütfen bir yol gösterin..İşte kod;
Option Compare Database
Private Declare PtrSafe Function BakComputerAdi Lib "kernel32" Alias
"GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Private Sub Form_Open(Cancel As Integer)
'******* Giris formu acilisina bilgisayar adini kontrol ettirilebilir *******
if PcMakine <> "m_çakıcı makinesi" then Application.Quit acQuitSaveAll
End Sub
Function PcMakine() As String
Dim Genis As Long, Gosteri As Long, MakBul As String
MakBul = String$(254, 0)
Genis = 255
Gosteri = BakComputerAdi(MakBul, Genis)
If (Gosteri > 0) Then
PcMakine = Left$(MakBul, Genis)
Else
PcMakine = vbNullString
End If
End Function