PDA

View Full Version : پاک شدن برنامه پس از گذشت یک زمان مشخص



babak869
چهارشنبه 27 مهر 1384, 09:38 صبح
با سلام به همه دوستان
من میخواستم بدونم آیا راهی هست که یه کد در برنامه گذاشت که مثلا پس از گذشت یک ماه بصورت اتوماتیک خودش رو Delete کنه .البته از تاریخ سیستم استفاده نکنه بهتره چون ممکنه اونو عوض کنند ولی زمان اولین اجرای خودش رو در یک فایل ذخیره کنه و هر بار چک کنه که آیا از اون روز 30 روز گذشته یا نه و اگه گذشته برنامه رو که در حال اجرا هم هست پاک کنه .از دوستان کسی هست منو کمک کنه؟
متشکرم-موفق باشید

mzjahromi
چهارشنبه 27 مهر 1384, 09:47 صبح
اگه بخوای فقط از زمان اولین اجرا استفاده کنی باز هم ممکنه تاریخ رو بیارن عقب.
بهتره زمان آخرین اجرا رو هم نگه داری و هر وقت دیدی زمان سیستم قبل از زمان آخرین اجرا هست معلوم میشه زمان رو بردن عقب بهتره از Registry استفاده کنی

babak869
چهارشنبه 27 مهر 1384, 09:53 صبح
سلام
ممنونم میشه بیشتر راهنمایی کنی .آیا کدی داری که این کار رو انجام بده؟

MNosouhi
چهارشنبه 27 مهر 1384, 10:13 صبح
البته این سوال شما به برنامه خودتون بستگی داره.من توی قفلی که برای برنامه هام نوشتم اجازه داده ام که مشتری مثلا برای یک هفته از برنامه بصورت Trial استفاده کنه . در این مدت یه هفته مشتری اجازه نداره تاریخ سیستم رو عقب ببره و اگه ببره برنامه اجرا نمیشه ، یعنی اجرا میشه ولی یه پیغام میده که میگه که زمان به عقب برگشته و باید اون رو تصحیح کنید . این میتونه ایده خوبی برای کار شما هم باشه.
البته یه کار دیگه هم می تونید بکنید و اون اینه که هر بار که برنامه ران میشه تاریخ کنونی سیستم رو با آخرین تاریخ اجرای برنامه چک کنید ، اگه تغییر کرده بود به مقدار کانترتون یکی اضافه کنید . وقتی کانتر به 30 رسید برنامه حذف بشه . البته اشکال این روش اینه که مشتری از برنامه شما 30 روز کاری استفاده خواهد کرد نه 30 روز متوالی . یعنی مثلا اگر مشتری برنامه شما رو هر 2 روز یک بار اجرا کنه 2 ماه طول میکشه تا برنامه شما حذف بشه.

babak869
چهارشنبه 27 مهر 1384, 10:24 صبح
سلام
ممکنه که اون کد یا قفلی رو که میگید به منم بدید؟ آیا امکان داره؟ممنون میشم اگه اونو برای منم بفرستید
babak869@gmail.com
موفق باشید

Identifier
چهارشنبه 27 مهر 1384, 10:31 صبح
در این صورت بازم با مشکل مواجه می شوید برنامه timeLock میاد زمان را برای یک برنامه ثابت نگه میداره به نضر من اینجا شما یک برنامه کمکی دیگه هم لازم دارید که اونو برنامه برنامه اصلی شما رو کنترل کنه و پارمترهایی که این دو برنامه به هم پاس میدن مثلا تعداد دفعات اجرا و زمان اجرای بار قبل که اگر زمان برنامه ثابت مونده معلوم است از برنامه timeLock استفاده کردند و برنامه کمکی برنامه اصلی رو حذف میکنه و یا اینکه فقط با برنامه اصلی این موراد را کنترل کنید و می تونید برنامه کمکی هم نداشته باشید ولی این روشی هست که coffeecup platinum استفاده می کنه

babak869
چهارشنبه 27 مهر 1384, 10:39 صبح
نه من نمیخوام که خیلی تایمر حرفه ای بزارم و همین که زمان رو چک کنه و پس از گذشت یه مدت خاص اونو پاک کنه کافیه چون اونو برای مشتری میخوام که خیلی وارد نیست و اصلا این ترفند ها رو بلد نیست!!!

Identifier
چهارشنبه 27 مهر 1384, 11:51 صبح
پس شما یک کلید توی رجیتری ایجاد کنید و تاریخ نصب برنامه و آخرین بار اجرا رو داخل اون بریزید بعد از اتمام مدت مجاز برنامه را Expire کنید

babak869
چهارشنبه 27 مهر 1384, 11:55 صبح
ممنونم
میشه کدی رو که می فرمایید اینجا بزارید چون بنده در مورد کار بارجیستری چندان آشنایی ندارم
متشکرم

MNosouhi
چهارشنبه 27 مهر 1384, 12:01 عصر
بنده کار با رجیستری رو اصلا پیشنهاد نمی کنم ، چون که ظرف چند دقیقه با نرم افزارهایی که فایل ها رو مونیتور میکنن میشه مسیر رجیستری رو مشخص و اون رو دستکاری کرد.در مورد قفل هم واقعا شرمنده ، 6 ماه طول کشید تا طراحی و اجرا شده و نمی تونم اون رو در اختیار شما قرار بدم.

babak869
چهارشنبه 27 مهر 1384, 12:08 عصر
ممنونم
موفق باشید

mzjahromi
چهارشنبه 27 مهر 1384, 13:22 عصر
دوستمون که نمی گه چجوری. لا اقل این کار رو امتحان کن
1- آخرین تاریخ اجرا و اولین تاریخ اجرا رو تو رجیستری بنویس
2- اگه تاریخ اجرای فعلی کوچکتر یا مساوی آخرین تاریخ اجرا بود اجرا نشه اینجوری برنامه timelick هم کاری نمیتونه بکنه
3-چیزائی که تو رجیستری مینویسی رو Encrypt کن که نتونن به این راحتیها تغییرش بدن
نمونه کد کار با رجیستری هم اینه


user registry

function test;
var
r:TRegistry
Begin
r:=TRegistry.Create;
r.RootKey:=HKey_Current_User;
try
if r.OpenKey('test\Info',True) Then
Begin
r.writeString('test','this is a test'); نوشتن
ShowMessage(R.ReadString('Test')); خواندن
End
Except End;
r.CloseKey;
r.Free;
End;

babak869
چهارشنبه 27 مهر 1384, 22:41 عصر
جناب جهرمی عزیز سلام
ممنون از توجه شما.البته این دوستمون هم حق داره منم اگه بودم و روی یه اینجور برنامه ای مدت زیادی وقت میگذاشتم براحتی اونو به همه نمیدادم!!! البته امیدوارم که اگه دوست نداره برنامه رو بده لا اقل در باره کدنویسی اون منو بیشتر راهنمایی کنه
با تشکر از همه دوستان

mzjahromi
پنج شنبه 28 مهر 1384, 10:46 صبح
من توهین نکردم. منظور من هم همون راهنمائی بود. خود من هم خیلی چیزها دارم که به این راحتیها به کسی نمی دمشون.

babak869
پنج شنبه 28 مهر 1384, 13:50 عصر
سلام
نه آقا .خواهش می کنم من که نگفتم خدای نکرده شما تو هین کردید فقط خواستم که بگم اگه کسی روی یه چیزی زحمت کشیده باشه حاضر نیست که به راحتی اونو به همه بده همین.
امیدوارم که موفق باشید

maisam57
جمعه 29 مهر 1384, 01:47 صبح
آقا بابک من اینو انجام دادم
شما تاریخ رو توی یه متغیر قراربده بعد با تابع copy کاراکترهای روز یا ماه رو توی یه متغیر دیگه قرار بده
بغد یه شرط بزار که وقتی روز مورد نظر شما رسید application حذف بشه اگه موفق نشدی بگو تا سورسشو واست بفرستم

babak869
جمعه 29 مهر 1384, 14:23 عصر
میثم عزیز سلام
ممنون از جوابت.یه چیزایی دستگیرم شد اما اگه محبت کنی و سورس رو برام بفرستی یه دنیا ممنون میشم
موفق باشید

ehsan2000
شنبه 30 مهر 1384, 12:07 عصر
آقا بابک من اینو انجام دادم
شما تاریخ رو توی یه متغیر قراربده بعد با تابع copy کاراکترهای روز یا ماه رو توی یه متغیر دیگه قرار بده
بغد یه شرط بزار که وقتی روز مورد نظر شما رسید application حذف بشه اگه موفق نشدی بگو تا سورسشو واست بفرستم
اگه تاریخ سیستم رو عقب بکشن چی؟؟

babak869
شنبه 30 مهر 1384, 12:46 عصر
همینم که دوستمون میثم خان نوشته برام کافیه اگه محبت کنه ممنون میشم .خیلی مهم نیست چون طرف من چندان حرفه ای نیست و ازین شیرین کاریها بلد نیست

Dolphin
یک شنبه 01 آبان 1384, 22:37 عصر
بهترین کار اینکه اولین تاریخ اتصال در فایلی ذخیره کنی بعد از آن اگر تاریخ و عقب و جلو کرد بدونی و سپس مقطع مورد نظرت را چک کنی

babak869
دوشنبه 02 آبان 1384, 11:25 صبح
میثم جان سلام
من منتظر شما هستم که گفتید برات سورس میفرستم.اگه محبت کنی ممنون میشم

Hadizadeh
چهارشنبه 21 دی 1384, 21:35 عصر
با سلام. همانطور که خودتون بهتر می دونید بعضی از نسخه های آزمایشی برنامه ها ، دارای قابلیتی هستند که در صورت عقب کشاندن تاریخ سیستم ، در هنگام اجرا واکنش نشان می دهند. به نظر شما راهی وجود داره که بدون ذخیره تاریخ فعلی سیستم در یک فایل خاص یا رجیستری ، بتوان قابلیت بالا را به نرم افزار خود اضافه کرد؟ یه راهی که قبلا خود شما فرموده بودید ، مقایسه تاریخ فعلی فایل های رجیستری با زمان آخرین اجرای برنامه است. ولی من فکر می کنم روش موثری نباشه. به عنوان مثال فرض کنید برنامه رو امروز یکبار اجرا می کنیم. حالا تاریخ سیستم رو عقب می بریم و فایل اصلی برنامه رو هم دوباره یه جای دیگه کپی می کنیم تا زمان آخرین دسترسی اون با تاریخ جدید ست بشه ، حالا سیستم رو از نو بوت می کنیم تا تاریخ فایل های رجیستری هم عوض بشه. حالا به نظر شما اگه برنامه رو از نو اجرا کنیم ، چی میشه؟ لطفا توجه کنید که من نمی خام تاریخ ها رو تو یه فایل یا رجیستری ذخیره کنم چون به راحتی مانیتور میشه!

oghab
پنج شنبه 22 دی 1384, 11:28 صبح
سلام
منم تقریبا می خواستم همین تاپیک را مطرح کنم و خدا بهم رحم کرد و این تاپیک را دیدم و تاپیک جدید را مطرح نکردم و از پیغامهای متوالی جستجو کن در امان موندم.
راستش من از رجیستری چیزی سر در نمیارم و اصلا نمی دونم چطور میشه تاریخ را ذخیره کرد و ...
البته به نظر شما دوستان که حرفه ای هستید و یه مثال هم راجع به این موضوع گذاشتید شاید خیلی ساده است ولی خب من نفهمیدم.
امیدوارم این بحث به نتیجه برسه (البته طوری که منم سر در بیارم)
با آرزوی موفقیت برای همگی شما

Hadizadeh
پنج شنبه 22 دی 1384, 14:32 عصر
این برنامه TimeLock رو از کجا میشه دانلود کرد؟

babak869
جمعه 23 دی 1384, 09:56 صبح
مشکل من با AvLock Gold حل شد میتونی از سایتش بگیری.برنامه جالبیه!!!!

oghab
جمعه 23 دی 1384, 10:31 صبح
مشکل من با AvLock Gold حل شد میتونی از سایتش بگیری.برنامه جالبیه!!!!
سلام
من برنامه ای را که گفتی از این سایت گرفتم:
http://www.delphi32.com/vcl/5134/download,xid,5134.asp]
ممکنه بگی چطور ازش استفاده کنم؟
البته تو این لینک هم میشه download کرد ولی چند تا ورژن است و من نمی دونستم کدوم را dowkload کنم. و این یکی را Free Delphi edition (v5.3.3). دانلود کردم.
http://www.avsoft.sitio.net/
میشه راهنمایی کنی
ممنون میشم
همیشه موفق باشی

babak869
جمعه 23 دی 1384, 23:00 عصر
با سلام
شما آخرین نسخه رو از سایت دریافت کن که فکرکنم همون 5.3.3 هستش.بعد از نصب یه کامپوننت بنام AvLock داری که اونو روی فرم بزار و خاصیت هاشو تنظیم کن مثالهای کاملی داره اگه یه نگاه بندازی میبینی که کاملا ساده ست.در ضمن یه برنامه KeyMaker داره که برای برنامه هم میتونی کلید تعریف کنی هم Licence File مثل برنامه دیکشنری Babylone
اگه بازم سوالی بود بپرس در خدمتم
موفق باشید