سلام
من می خوام وقتی کابر پروژه رو اجرا می کنه اگه نسخه دیگه ای از آن در حافظه باز هست دیگه نتونه پروژه رو دوباره اجرا کنه؟
چطور می شه اینکار رو کرد؟
با تشکرات فراوان
سلام
من می خوام وقتی کابر پروژه رو اجرا می کنه اگه نسخه دیگه ای از آن در حافظه باز هست دیگه نتونه پروژه رو دوباره اجرا کنه؟
چطور می شه اینکار رو کرد؟
با تشکرات فراوان
اینو من تو یه ماژول گزاشتم توی فرم لود اولین فرمی که باید لود بشه گزاشتم
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
آخرین ویرایش به وسیله amin_programmer : دوشنبه 30 آبان 1384 در 10:20 صبح دلیل: درست نشان دادن کد
یک مشکل!
اگر کاربر فولدر برنامه رو Share بکنه ، برنامه روی سیستم های دیگه همزمان اجرا میشه. چطوری میشه جلوی این کار رو گرفت ؟
و اگر کاربر فایل EXE را کپی کنه و آن را Rename کنه . برنامه با اسم جدید اجرا خواهد شد!
چه کنیم با این مشکلات؟
میشه توی رجیستری کلیدی ساخت که قبل از اجرای برنامه چک بشه که اگه نبود برنامه اجرا بشه و در پایان از بین بره. فقط مشکلی که باقی میمونه اینه که اگه وسط کار برنامه هنگ کرد و در حال طبیعی خارج نشد کلید هم از بین نمیره و دفعات بعد برنامه اجرا نمیشه.نوشته شده توسط Mohammad .net
یه راهش اینه که از توی برنامه با یه تایمر مرتبا مقدار کلید بر اساس تاریخ تحصیح شود، مثلا هر 10 ثانیه. حالا اگه برنامه هنگ کرد، اجرای دوباره مقدار کلید رو با زمان جاری بررسی کنه و ببینه مثلا بیش از 10 ثانیه اگه ازش میگذره برنامه رو دوباره اجرا کنه با این پیشفرض که برنامه بدرستی خارج نشده بوده.
کنار برنامه مانند همان مسئله رجیستری منتها فایلی توی پوشه اصلی ساخته بشه که همان رفتار رو داشته باشه. اینجوری مسئله حله.نوشته شده توسط Mohammad .net
راه دیگه ای هم که هست مسئله فرهنگسازیه که به کاربر کاملا توضیح دهید ( یا وارد گفتمان شوید.)
سلام
خیلی ممنون برم بیبینم چطوره
عجب سوالی کردما نه!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
با تشکرات ویژه از امین