PDA

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



aradsystem
سه شنبه 24 دی 1387, 18:50 عصر
دوستان سلام

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

با تشكر از دوستان

vcldeveloper
چهارشنبه 25 دی 1387, 02:17 صبح
با روش های مختلف، مثل ایجاد یک Mutex یکتا در برنامه، و بررسی Mutex در هر بار اجرای برنامه، تا اگر Mutex با نام مورد نظر قبلا در اختیار برنامه ایی قرار گرفته (یعنی یک نسخه از برنامه در حال اجرا ست)، برنامه دوم اجرا نشه. برای اطلاعات بیشتر عبارت Mutex را در تالار دلفی جستجو کنید.

aradsystem
چهارشنبه 25 دی 1387, 23:29 عصر
اقای کشاورز من با اجرای همزمان یک برنامه مشکلی ندارم. میخوام مشتری چند نسخه ازش نداشته باشه. mutex رو جستجو کردم چیزی در این مورد پیدا نکردم.

hojjatcroos
پنج شنبه 26 دی 1387, 09:12 صبح
اگه برنامه در یک سیستم می خواهد حفاظت بشه درست-هر کار کنید بدون ویندوز امکان کپی از برنامه شما هست با برنامه هایی مثل Hirens boot CD -اگه در ویندوز می خواهید من یک روش یاد دارم اما برنامه شما اجرا هم نخواهد شد مگه این که قبل از قفل کردن با اون نرم افزار اجراش کنید و بعد قفلش کنید که نه امکان تغییر نام نه کپی و نه باز کردن مجدد رو به شما می ده

aradsystem
پنج شنبه 26 دی 1387, 12:40 عصر
دوست عزیز مشکلی نیست برنامه کپی بشه. می خوام وقتی کپی شد تشخیص بده که یه نسخه دیگه از برنامه روی سیستم هست و دومی دیگه اجرا نشه.

خودم یه راهی به نظرم رسیده که موقع اجرا فقط اگه برنامه تو مسیری بود که من بهش دادم اجرا بشه. این درسته؟ چجوری مسیر فعلی برنامه رو موقع اجرا بدست بیارم؟

Zahed2008
پنج شنبه 26 دی 1387, 16:47 عصر
سلام، چرا از Application.exename برای تعیین مسیر اجرا استفاده نمی کنید. بدین صورت که اگه این مسیر با مسیر مورد شما متفاوت بود برنامه از اجرا خارج بشه. مثل کد زیر:

const
stName='C:/ FileName.exe';
...
procedure Tform1.formcreat( Sender: Tobject);
begin
if application.exename<> stname then application.Trminate;
end;

hojjatcroos
پنج شنبه 26 دی 1387, 18:04 عصر
دوست عزیز از کامپوننت Run Once که من تو سایت دیدمش استفاده کنی فقط باید روی فرمت قرار بدی تا برنامه یک بار اجرا بشه.دلفی 7