PDA

View Full Version : سوال: در مورد جلوگیری از اجرای مجدد نرم افزار



Javad_raouf
جمعه 07 خرداد 1389, 13:15 عصر
سلام من می خوام وقتی نرم افزارم اجرا هست کاربر نتونه دوباره اونو اجرا کنه
اینو بلدم
حالا می خوام وقتی کاربر دوباره نرم افزار رو اجرا کرد همون اجرای قبلی که توی Notify هست بیاد بالا

در حقیقت یک چیزی می خوام مثل IDM
وقتی IDM اجرا هست یک بار دیگه اجراش کنید اونی که دوباره باز کردید بسته میشه و یک جوری به IDM باز می فهمونه که خودشو نشون بده

نمی دونم تونستم منظورم رو بفهمونم یا نه؟

بهتره اینجوری بگم
کاربر دو بار فایل EXE من رو باز کرده من می خوام از این یکی یک جوری با اون یکی ارتباط برقرار کنم:عصبانی++:
پیشاپیش ممنون:بوس:

mortezaadi
جمعه 07 خرداد 1389, 19:10 عصر
* روی My Project از پنجره solution explorer دابل کلیک کن
جلوی این گزینه تیک بذار : Make Single Instance Application
* روی view Application events کلیک کن
توی رویداد Nextinstance اینو بنویس :

Private Sub MyApplication_StartupNextInstance(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupN extInstanceEventArgs) Handles Me.StartupNextInstance
[فرم برنامه].WindowState = FormWindowState.Normal
End Sub

gilsoft
جمعه 30 دی 1390, 04:50 صبح
سلام دوستان

چون در رابطه با اجرای مجدد نرم افزار تاپیکهای متنوعی روی سایت بود، نخواستم تاپیک جدیدی ایجاد کنم !

من میخوام این کار از طریق کدنویسی صورت بگیره. بدین ترتیب که :
در هنگام اجرای نرم افزار ، از داخل یک فایل مثلا Application.ini رشته State خوانده شود.
اگه State=Single بود ، از اجرای مجدد جلوگیری شود
اگه State=Multi بود ، اجرای مجدد مانعی نداشته باشد.
ممنون میشم اگه یه راهنمایی کنید

mgh64120
جمعه 30 دی 1390, 17:49 عصر
سلام دوستان
مي تونيد از تابع زير هنگام لود فرم اصلي استفاده كنيد.

Shared Function IsPrevInstance() As Boolean
Dim processName As String = Process.GetCurrentProcess().ProcessName
Dim instances() As Process = Process.GetProcessesByName(processName)
If instances.Length > 1 Then
Return True
Else
Return False
End If
End Function

موفق باشيد...