Jump to content

30 Gün Trial Program Yapma


engin_imren_24
 Share

Recommended Posts

S.a Arkadaşalar bir isteğim olucak

hazırladığım projedeki ana sayfamın 30 gün sonra başka bir sayfa ile açılmasını nasıl sağlarım.

Bir inputa serial girilmesini ve bunun projede kayıtlı serialle karşılaştırılıp

eğer doğru serialse bundan sonra eski ana sayfa ile açılmasını nasıl sağlarım.

özellikle sayın editörümüz " KintaRo " örnek projelere eklemesini bekliyoruz

Edited by engin_imren_24
Link to comment
Share on other sites

ilk başa dialog koyup, input'a girilen değeri okutup senin seriale eşit değilse hata verirsin. doğruysa ana sayfaya geçer.

kısa bir anlatım yapabilirim.

Edited by djonur007
Link to comment
Share on other sites

şöyle bir önerim var tabi senin seçimin ams bu istediğin yapılır mı bilmiyorum ama autoit dersen yapılır. autoit'e geçersen yardım ederim...

belki ams'de şöyle yapılabilir. aşağıdaki kodları ams'ye uygularsan(olur mu bilmiyorum) 30 gün trial işler.....

If RegRead("HKCU\Software\Microsoft\Windows\Current Version", "tnctr") = "" Then
    RegWrite("HKCU\Software\Microsoft\Windows\Current Version", "tnctr", "REG_SZ", _StringEncrypt(1, _NowCalc(), @ComputerName))
    SetError(0)
EndIf
$startdate = _StringEncrypt(0, RegRead("HKCU\Software\Microsoft\Windows\Current Version", "tnctr"), @ComputerName)

If _DateDiff("D", $startdate, _NowCalc()) > 30 Then;Burdaki 30 sayısı programın kaç gün çalışacağını gösterir
    MsgBox(16, "Tnctr!*", "30 günlük kullanım süreniz dolmuştur!")
    Exit
EndIf
Edited by djonur007
Link to comment
Share on other sites

şöylede olabilir. ams pc'nin gizli bir yerinde bir ini dosyası oluşturur. Örneğin;

[Trial]
Başlangıç=
Bitiş=

Ams ile "Başlangıç" kısmına programın pc'ye yüklendiği tarihi yazdırısın. "Bitiş" kısmına ise 30 gün sonrasını yazdırırsın. Ve program her açılışında ilk olarak bu ini dosyasını okur. Eğer pc tarihi ile bitiş kısmındaki tarih aynı ise hat mesajı verdirirsin.

Ama tavsiye etmem. çünkü bu yöntemler saniyede kırılır. Windows 7'yi fix'leyen bunu fix'leyemez mi? :)

Link to comment
Share on other sites

örnek proje yapabilirim tabiiki zevkle fakat tarihe dayalı trialler, süre bittikten sonra sistem tarihinin geriye alınmasıyla aşılabiliyor. O yüzden bu yöntem artık çok eskidi. En güzeli saati internetten çektirmek ya da programa örneğin 30 kere kullanım sınırı koymak. Hangisini isterseniz deneyebiliriz

Link to comment
Share on other sites

Şöyle birşey buldum. Bunu paylaşan vatandaş trial süresi için bu kodu kullandığını ve süre dolduktan sonra serial ile nasıl açtırabileceğini sormuş. Şu haliyle kullanılabilir gibi sanki.

Global Functions Açılışta kaç gününün kaldığını gösteren bir mesaj veriyor ayrıca. Sanırım dediğin gibi internetten saat verisi çekme işlemi yapılırsa basit ve kullanışlı olabilir. İnternet olmayan ortamda nasıl kullanılacağınıda bulmak lazım.

-- Specify the length of the trial period, in days
toplam_sure = 30;
-- Initialize kalan_sure
kalan_sure = 0;
-- Retrieve previous value stored
date_installed = Application.LoadValue("My Application", "Date Installed");-- Convert loaded value into a number
date_installed = String.ToNumber(date_installed);
-- If there is no previous value (date_installed == 0), create a value
if date_installed == 0 then
Application.SaveValue("My Application", "Date Installed", System.GetDate(DATE_FMT_JULIAN));
kalan_sure = toplam_sure;
else
kalan_sure = (date_installed + toplam_sure) - System.GetDate(DATE_FMT_JULIAN);
end
-- Check if there is time left
if String.ToNumber(kalan_sure) < 1 then
Dialog.Message("Trial Period Over", "This software has expired");
Application.Exit();
else
Dialog.Message("Trial Period", "You have "..kalan_sure.." days left in your trial period.");
end 

Link to comment
Share on other sites

Şöyle yapılabilir sanırım. Tabiki KintaRo katkıda bulunursa yapılabilir :D Ben deniyorum ama sonuca ulaşamadım.

Regeditde gizli saklı bir yere bir kayıt oluşturulur.

Değerin adı o günün tarihini verir.

O kayda göre trial süresi okunup halledilebilir sanırım.

Kaydı bulup silerlerse yada değiştirirlerse bilemem ama denemeye değer sanki.

Gerçi bazı güvenlik programları kayıt defterini kontrol edip yeni kayıt girileceğinde ötüyor ama require admin olarak çalıştırılırsa ötmeyedebilir.

Link to comment
Share on other sites

walla ne türlü derseniz ben yaparım ama şunu söyliyeyim, AMS ile kırılmayacak bir şey yapmak imkansız, Güvenlik açığı var AMS'de. ams nin forumuna bunu yazıp gösterdiğimde bir dövmedikleri kaldı beni :) Bunu biliyoruz ama sadece power userlar biliyor herkes bilmez açıklamanında faydası yok dediler. Yapacak birşey yok. Ama dediğim gibi normal kullanıcılar bu şekildeki korumaları kıramazlar.

Link to comment
Share on other sites

Peki ozaman iki çeşit deneme yapalım.

1. Reg kaydı oluşturarar. Yukarıda anlattığım gibi. (Ben reg kaydı oluşturmayı halledebiliyorum ama değerin adına tarih yazdıramadım. Açıkçası yukarıdaki kodada bağlayamadım :D Birşey yaptım sayılmaz yani :)

2. Bende bir host var mesela. Bu hostta örneğin www.siteadi.com/saat.htm adında bir sayfaya saat oluştursam. Bu saati okusa her açılışında. Mümkün olabilirmi acaba?

Müsait bir anında örnek hazırlayabilirmisin en azından mantığı anlayabilecek kadar?

Edited by Hemoroid
Link to comment
Share on other sites

uygulama içinde(güncellemlerle serial sayıları artırılıp azaltılabilir,eklenip silinebilir) ve korumalı bir php scriptinde bu serialler kayıtlı olsun.Kullanıcıda üreticiden bir serial alsın uygulamayı ilk çalıştırdığında bu seriali istesin ve kayıt defterine kaydetsin.uygulama aynı bilgisayarda tekrar çalıştırıldığında kayıt defterinde serial olup olmadığını kontrol etsin yoksa seriali tekrar istesin varsa php scriptinden seriali kontrol etsin.30 gün bunun neresinde derseniz php scriptinden bu ayarlanabilecek şekilde yazılabilir heralde.30 günlük serialler ve başlangıç tarihlerinin php scriptinde olması veya ilk çalıştırmada php scriptine tarih verilerinin gönderilip kaydettirmesi vs..Bu durumda internet bağlantısı şart gibi ama başka türlüde olması zor gibi.

Link to comment
Share on other sites

örnek proje yapabilirim tabiiki zevkle fakat tarihe dayalı trialler, süre bittikten sonra sistem tarihinin geriye alınmasıyla aşılabiliyor. O yüzden bu yöntem artık çok eskidi. En güzeli saati internetten çektirmek ya da programa örneğin 30 kere kullanım sınırı koymak. Hangisini isterseniz deneyebiliriz

dostum en iyisi sen normalib proje yap hatta senin için yorucu oılmaz sa bi netten olanı bide sistem tarih satt olanı yap dediğim gibi benim vericeğimyede bunları aklıl etmek için 2 sene beklemeleri lazım :D

kintaro hocam bide seril bölümü yaptım kullanıcı oradan 2 serial girecek 1.ci si Trial 2.cisi full kullanım olarak olasılığı varmıdır

Edited by engin_imren_24
Link to comment
Share on other sites

dostum en iyisi sen normalib proje yap hatta senin için yorucu oılmaz sa bi netten olanı bide sistem tarih satt olanı yap dediğim gibi benim vericeğimyede bunları aklıl etmek için 2 sene beklemeleri lazım :D

kintaro hocam bide seril bölümü yaptım kullanıcı oradan 2 serial girecek 1.ci si Trial 2.cisi full kullanım olarak olasılığı varmıdır

trial için serial girdirmene ne gerek var ki? normal trial programlardaki gibi key girmezse trial kullanır, key girerse full kullanır..daha basit yani..ugrasma fazla..

Link to comment
Share on other sites

  • 4 years yıl...
  1. -- Specify the length of the trial period, in days
  2. toplam_sure = 30;
  3. -- Initialize kalan_sure
  4. kalan_sure = 0;
  5. -- Retrieve previous value stored
  6. date_installed = Application.LoadValue("My Application", "Date Installed");-- Convert loaded value into a number
  7. date_installed = String.ToNumber(date_installed);
  8. -- If there is no previous value (date_installed == 0), create a value
  9. if date_installed == 0 then
  10. Application.SaveValue("My Application", "Date Installed", System.GetDate(DATE_FMT_JULIAN));
  11. kalan_sure = toplam_sure;
  12. else
  13. kalan_sure = (date_installed + toplam_sure) - System.GetDate(DATE_FMT_JULIAN);
  14. end
  15. -- Check if there is time left
  16. if String.ToNumber(kalan_sure) < 1 then
  17. Dialog.Message("Trial Period Over", "This software has expired");
  18. Application.Exit();
  19. else
  20. Dialog.Message("Trial Period", "You have "..kalan_sure.." days left in your trial period.");
  21. end

​not burdaki tarih kısmını kendimiz birtarih belirleyip  cd veya DVD için o tarihten başlatım sayacı ayarlayamayızmı cd veya DVD yi hangi pc de kullanırsa kullansın sayaç  yinede çalışsın gibi

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...