PDA

View Full Version : سوال: اجرا نشدن دوباره برنامه



f.nabavi
سه شنبه 31 اردیبهشت 1387, 11:38 صبح
سلام . چطوری میتونم کنترل کنم که فقط یک نسخه از برنامه ام در حال اجرا باشه؟ مثلا اگر user دو بار رو exe برنامه کلیک کرد بار دوم اتفاقی نیفته؟ :متفکر:

ASKaffash
سه شنبه 31 اردیبهشت 1387, 11:41 صبح
با سلام
با کد ذیل :
Private Sub Form_Load()
If App.PrevInstance Then
End
End If
End Sub

bobrus
سه شنبه 31 اردیبهشت 1387, 15:18 عصر
سلام
آقاي Fnabavi جوابي كه اين دوستمون بهتون دادن تقريباً درسته و جواب مي ده ولي اگه برنامه شما رو به يه آدرس ديگه كپي كنن و اجراش كنن اين دستور عمل نمي كنه
براي نتيجه گرفتن بهتر يه جستجو در مورد PrevInstance بزن قبلاً در اين مورد نوشتن(از جستجوي گوگل استفاده كني بهتره )
اين تاپيك رو نگاه كن منم همين مشكل رو داشتم
http://barnamenevis.org/forum/showthread.php?t=85980&highlight=PrevInstance

ali_habibi1384
سه شنبه 31 اردیبهشت 1387, 21:50 عصر
با این برنامه شما می تونید کلیه برنامه های در حال اجرا رو توی کامپیوترت ببینی.
کافیه موقع لود شدن برنامه ات اگر نام برنامه خودت رو جزء اینها دیدی توسط فرمان end برنامه ات رو به پایان برسونی تا از اجرای مجدد اون جلوگیری کنی.
http://barnamenevis.org/forum/attachment.php?attachmentid=18003&stc=1&d=1211302196

ABERTINO
دوشنبه 06 خرداد 1387, 09:54 صبح
با این برنامه شما می تونید کلیه برنامه های در حال اجرا رو توی کامپیوترت ببینی.
کافیه موقع لود شدن برنامه ات اگر نام برنامه خودت رو جزء اینها دیدی توسط فرمان end برنامه ات رو به پایان برسونی تا از اجرای مجدد اون جلوگیری کنی.

خوب اگه كاربر نام برنامه رو عوض كرد اونوقت چي ميشه بازم برنامه اجرا ميشه كه !؟

vahid_visualbasic
دوشنبه 06 خرداد 1387, 12:13 عصر
با این برنامه شما می تونید کلیه برنامه های در حال اجرا رو توی کامپیوترت ببینی.
کافیه موقع لود شدن برنامه ات اگر نام برنامه خودت رو جزء اینها دیدی توسط فرمان end برنامه ات رو به پایان برسونی تا از اجرای مجدد اون جلوگیری کنی.

این دوستمون گفتن میخوان یوزراشون نتونن دوباره برنامه رو اجرا کنن نه خودشون

f.nabavi
دوشنبه 06 خرداد 1387, 14:44 عصر
من میخوام که نه exe اصلی و نه فایل های وابسته بهش هیچ کدوم د ر حین اجرای برنامه قابل استفاده نباشند. یعنی اگر روشون click شد، هیچ اتفاقی نیفته. مثلا اگر یه فایل txt در حین اجرا ساخته می شه و قراره بعد از استفاده Delete بشه، توسط user باز نشده باشه تا به مشکل نخورم. فایل exe اصلی هم تقریبا همین طور.

vbhamed
دوشنبه 06 خرداد 1387, 18:21 عصر
سلام
فايل txt رو اگر با دستور Open باز مي كنيد مي تونيد از پارامتر Lock Read و Lock Write استفاده كنيد تا كسي نتونه ازش بخونه يا توش بنويسه يا بازش كنه
اينم دستورش :


Open "c:\test.txt" For Output Lock Read As #1

ASKaffash
دوشنبه 06 خرداد 1387, 18:31 عصر
با سلام
یک راه عجیب وغریب اینکه با WinSock یک پورت مثل 1001 را باز کنید بنابراین نسخه های دیگر برنامه شما با هر نام ونشانی نمیتوانند اجرا شوند چون خطای بازنشدن پورت میدهند که با کنترل خطا میتوانید آنها را End کنید