PDA

View Full Version : يكبار يا چندبار اجرا شدن برنامه در ويندوز



bhz8181
پنج شنبه 02 اردیبهشت 1389, 12:49 عصر
سلام

براي اينكه بخواهيم برنامه اجرايي كه نوشتيم رو از نظر تعداد دفعاتي كه مي تونه اجرا كننده داراي محدوديت كنيممثل برنامه هاي trial بفرض يكبار كه كاربر در سيستمش exe برنامه رو اجرا كرده دفعه بعد يك پيامي بده كه اين يك نسخه آزمايشي هست.

البته مي دونم كه روشهايي مثل استفاده از رجيستري يا بانك اطلاعاتي هست ولي مي خواستم در اين تاپيك بصورت عملي تر و استفاده كدينگ براي انجام اينكار مورد بهره برداري قرار بگيره.

البته سرچ هم كردم ولي در اين فروم مطلب چندان مرتبطي رو پيدا نكردم.

با تشكر.

mohammad diba
پنج شنبه 02 اردیبهشت 1389, 16:40 عصر
دوست عزیز به نظر من همون ریجستری بهترین روشه. من تا حالا خیلی از این روش استفاده کرده ام خیلی خوبه کامل هم جواب گرفته ام.

csharpdoost
پنج شنبه 02 اردیبهشت 1389, 19:38 عصر
سلام دوستان
حالا همين روش ريجستري يا روشهاي ديگه را ميشه بگيد تا ما هم استفاده كنيم؟
البته اگه ميشه دقيقتر بيان كنيد چون مبتدي هستم .
با تشكر فراوان

bhz8181
پنج شنبه 02 اردیبهشت 1389, 20:02 عصر
بله اگر ممكنه اين مسئله رو با طرح يك نمونه عملي و توضيحات موردنياز ارائه بدين تا همه

دوستان استفاده كنن

alireza_s_84
پنج شنبه 02 اردیبهشت 1389, 20:53 عصر
سلام

براي اينكه بخواهيم برنامه اجرايي كه نوشتيم رو از نظر تعداد دفعاتي كه مي تونه اجرا كننده داراي محدوديت كنيممثل برنامه هاي trial بفرض يكبار كه كاربر در سيستمش exe برنامه رو اجرا كرده دفعه بعد يك پيامي بده كه اين يك نسخه آزمايشي هست.

البته مي دونم كه روشهايي مثل استفاده از رجيستري يا بانك اطلاعاتي هست ولي مي خواستم در اين تاپيك بصورت عملي تر و استفاده كدينگ براي انجام اينكار مورد بهره برداري قرار بگيره.

البته سرچ هم كردم ولي در اين فروم مطلب چندان مرتبطي رو پيدا نكردم.

با تشكر.

سلام یه سری به این تاپیک بزنید:
http://barnamenevis.org/forum/showthread.php?t=210973

csharpdoost
پنج شنبه 02 اردیبهشت 1389, 22:54 عصر
سلام دوستان
اين تاپيكي كه دوستمون معرفي كردن خيلي مهندسيه اگه ميشه يه كم در حد ابتدايي باشه تا ما هم متوجه بشيم.

باران باش و ببار بي آنكه بپرسي اين كاسه هاي خالي از آن كيست!

arefba
جمعه 03 اردیبهشت 1389, 00:42 صبح
من خودم مدتیه دنبالشم
و به این نتیجه رسیدم
با کد :
اول تعین محل نصب ویندوز ==>

string path = Environment.GetFolderPath(Environment.SpecialFolde r.ProgramFiles);کافیه به جای ProgramFiles هر چی بخواید بنویسید مثل
Desktop, MyDocuments, System, ...بعدش ذخیره کردن یک فایل متنی در پوشه ویندوز کاربر در اولین باری که فرم برنامه لود میشه

و در اون فایل متنی می تونید دفعات لود شدن برنامه و یا تاریخی رو بزارید و هر بار که برنامه بالا میاد اون متن ذخیره شده رو با شرط خودتون چک کنید
مثلا تو فایل متنی ذخیره شده هر بار که فرم لود میشه عدد داخلش به اضافه یک میشه و وقتی به 15 رسید می تونید که آیکون های روی فرم رو مخفی کنید و پیغامی مبنی بر اینکه کاربر باید نسخه اصلی رو بگیره بنویسید

arefba
جمعه 03 اردیبهشت 1389, 01:24 صبح
یک تابعه برای نوشتن و خواندن فایل متنی

using System.IO;

private void CreateTextFile()
{
using (FileStream fs = new FileStream("C:\\test.txt", FileMode.Create))
{
using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8))
{
w.WriteLine(124.23M);
w.WriteLine("Salaam!");
w.WriteLine('!');
}
}
}

private string ReadFromTextFile()
{
StringBuilder sb = new StringBuilder();
using (FileStream fs = new FileStream("C:\\test.txt", FileMode.Open))
{
using (StreamReader r = new StreamReader(fs, Encoding.UTF8))
{
sb.AppendLine(r.ReadLine());
sb.AppendLine(r.ReadLine());
sb.AppendLine(r.ReadLine());
}
}
return sb.ToString();
}

Netsky
جمعه 03 اردیبهشت 1389, 01:41 صبح
من خودم مدتیه دنبالشم
و به این نتیجه رسیدم
با کد :
اول تعین محل نصب ویندوز ==>

string path = Environment.GetFolderPath(Environment.SpecialFolde r.ProgramFiles);کافیه به جای ProgramFiles هر چی بخواید بنویسید مثل
Desktop, MyDocuments, System, ...بعدش ذخیره کردن یک فایل متنی در پوشه ویندوز کاربر در اولین باری که فرم برنامه لود میشه

و در اون فایل متنی می تونید دفعات لود شدن برنامه و یا تاریخی رو بزارید و هر بار که برنامه بالا میاد اون متن ذخیره شده رو با شرط خودتون چک کنید
مثلا تو فایل متنی ذخیره شده هر بار که فرم لود میشه عدد داخلش به اضافه یک میشه و وقتی به 15 رسید می تونید که آیکون های روی فرم رو مخفی کنید و پیغامی مبنی بر اینکه کاربر باید نسخه اصلی رو بگیره بنویسید
با سلام و عرض ادب .
دوست عزيز شما به اين نكته انگار توجهي نكردي . چه نكته اي ؟؟؟ امنيت .
خيلي راحت ميشه مقدار داخل فايل رو صفر كرد يا حتي منفي 1000 . و ميتونيم تا ابد از برنامه اي كه با اين روش قراره مدت دار بشه استفاده كنيم . حداقل يه رمزنگاري چاشني كار ميكرديد تا بشه جلوي مبتدي ها رو گرفت .
پس اصلا بيخيال اين روش بشيد .
موفق و سربلند باشيد .................. :لبخندساده:

alireza_s_84
جمعه 03 اردیبهشت 1389, 01:57 صبح
با سلام و عرض ادب .
دوست عزيز شما به اين نكته انگار توجهي نكردي . چه نكته اي ؟؟؟ امنيت .
خيلي راحت ميشه مقدار داخل فايل رو صفر كرد يا حتي منفي 1000 . و ميتونيم تا ابد از برنامه اي كه با اين روش قراره مدت دار بشه استفاده كنيم . حداقل يه رمزنگاري چاشني كار ميكرديد تا بشه جلوي مبتدي ها رو گرفت .
پس اصلا بيخيال اين روش بشيد .
موفق و سربلند باشيد .................. :لبخندساده:

سلام
من توی اون تاپیک توضیح دادم که درست کردن برنامه های Terial اصلا فکر خوبی نیست چون هیچ راهی برای جلوگیری از محدودیت زمانی جوابگو نیست و هر راهی با مانیتورینگ به بن بست میرسه.
در آخر با دوستان به نتیجه رسیدیم که به جای مدت دار کردن برنامه امکانات برنامه رو محدود کن اینجوری خیلی بهتره.
موفق باشید