PDA

View Full Version : تشخیص اینکه پروژه در حال اجرا هست یا نه



rezaei manesh
یک شنبه 16 مرداد 1384, 15:52 عصر
سلام
من می خوام وقتی کابر پروژه رو اجرا می کنه اگه نسخه دیگه ای از آن در حافظه باز هست دیگه نتونه پروژه رو دوباره اجرا کنه؟
چطور می شه اینکار رو کرد؟
با تشکرات فراوان

amin_programmer
دوشنبه 17 مرداد 1384, 03:14 صبح
اینو من تو یه ماژول گزاشتم توی فرم لود اولین فرمی که باید لود بشه گزاشتم

Public Sub MainStart()
If (UBound(Diagnostics.Process.GetProcessesByName(Dia gnostics.Process.GetCurrentProcess.ProcessName)) > 0) Then
messagebox.show("programe is run")
If MsgReturn = 1 Then
Application.ExitThread()
Application.Exit()
End
End If
End If
End Sub

Mohammad .net
دوشنبه 17 مرداد 1384, 16:05 عصر
یک مشکل!

اگر کاربر فولدر برنامه رو Share بکنه ، برنامه روی سیستم های دیگه همزمان اجرا میشه. چطوری میشه جلوی این کار رو گرفت ؟

Mohammad .net
دوشنبه 17 مرداد 1384, 16:38 عصر
و اگر کاربر فایل EXE را کپی کنه و آن را Rename کنه . برنامه با اسم جدید اجرا خواهد شد!
چه کنیم با این مشکلات؟

PalizeSoftware
دوشنبه 17 مرداد 1384, 16:46 عصر
و اگر کاربر فایل EXE را کپی کنه و آن را Rename کنه . برنامه با اسم جدید اجرا خواهد شد!
چه کنیم با این مشکلات؟
میشه توی رجیستری کلیدی ساخت که قبل از اجرای برنامه چک بشه که اگه نبود برنامه اجرا بشه و در پایان از بین بره. فقط مشکلی که باقی می‌مونه اینه که اگه وسط کار برنامه هنگ کرد و در حال طبیعی خارج نشد کلید هم از بین نمی‌ره و دفعات بعد برنامه اجرا نمیشه.
یه راهش اینه که از توی برنامه با یه تایمر مرتبا مقدار کلید بر اساس تاریخ تحصیح شود، مثلا هر 10 ثانیه. حالا اگه برنامه هنگ کرد، اجرای دوباره مقدار کلید رو با زمان جاری بررسی کنه و ببینه مثلا بیش از 10 ثانیه اگه ازش می‌گذره برنامه رو دوباره اجرا کنه با این پیش‌فرض که برنامه بدرستی خارج نشده بوده.

PalizeSoftware
دوشنبه 17 مرداد 1384, 16:49 عصر
یک مشکل!

اگر کاربر فولدر برنامه رو Share بکنه ، برنامه روی سیستم های دیگه همزمان اجرا میشه. چطوری میشه جلوی این کار رو گرفت ؟

کنار برنامه مانند همان مسئله رجیستری منتها فایلی توی پوشه اصلی ساخته بشه که همان رفتار رو داشته باشه. اینجوری مسئله حله.
راه دیگه ای هم که هست مسئله فرهنگ‌سازیه که به کاربر کاملا توضیح دهید ( یا وارد گفتمان شوید.)
http://asefsoft.com/qsimages/122.gif

rezaei manesh
دوشنبه 17 مرداد 1384, 17:05 عصر
سلام
خیلی ممنون برم بیبینم چطوره
عجب سوالی کردما نه!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
با تشکرات ویژه از امین