PDA

View Full Version : جلوگیری از اجرای بیش از یک بار برنامه



SYSMAN
سه شنبه 21 شهریور 1385, 18:34 عصر
توی مثالهای MSDN کد زیر برای جلوگیری از اجرای بیش از یکبار برنامه نوشته شده است:


' Visual Basic 2005
' Assumes that the Make Single Instance Application checkbox in the
' Project Designer has been checked.

Private Sub MyApplication_StartupNextInstance(ByVal sender As Object, _
ByVal e As Microsoft.VisualBasic.ApplicationServices. _
StartupNextInstanceEventArgs) Handles Me.StartupNextInstance
MsgBox("The application is already running!")
End Sub


ولی Me متدی به نام StartupNextInstance ندارد؟؟؟
برای همین خطا می گیرد. علت چی هست؟

shima818
سه شنبه 21 شهریور 1385, 18:53 عصر
من از کد زیر استفاده می کنم:


Function PrevInstance() As Boolean
If UBound(Diagnostics.Process.GetProcessesByName(Diag nostics.Process.GetCurrentProcess.ProcessName)) > 0 Then
Return True
Else
Return False
End If
End Function

reza_23
سه شنبه 21 شهریور 1385, 19:33 عصر
شما می توانید در تنظیمات برنامه این را اعمال کنید
به تنظیمات پروژه خود رفته و در بخش اول قسمتی به نام run one ...است آنرا چک مارک بزنید

Sharif Lotfi
چهارشنبه 22 شهریور 1385, 16:03 عصر
به لینک زیر مراجعه کن :
http://barnamenevis.org/forum/showthread.php?t=26096&highlight=%CD%C7%E1+%C7%CC%D1%C7

Sharif Lotfi
چهارشنبه 22 شهریور 1385, 16:10 عصر
انگار لینکه مورد داشت . برات نوشتمش :


Private Sub check_in_process_this_program()
If (UBound(Diagnostics.Process.GetProcessesByName(Dia gnostics.Process.GetCurrentProcess.ProcessName)) > 0) Then
MsgBox("**این برنامه اکنون در حال اجرا می باشد** شما نمی توانید نسخه دیگری از آن را اجرا کنید.", MsgBoxStyle.OkOnly, "اخطار")
Beep()
Application.ExitThread()
Application.Exit()
End If
End Sub

SYSMAN
چهارشنبه 22 شهریور 1385, 20:35 عصر
از همه دوستان ممنون ولی من می خواهم بدونم کدی که نوشته تو خود MSDN مشکلش چی هست؟؟
از Me.StartupNextInstance خطا می گیره!!!

Sharif Lotfi
پنج شنبه 23 شهریور 1385, 09:12 صبح
مثالی که msdn نوشته باید توی فایل ApplicationEvents.vb نوشته بشه که این فایل در حالت نرمال hidden هستش. برای دیدن فایلهای hidden هم می دونید که چیکار باید بکنید .
پس برای نوشتن کد فوق در مرحله اول شما روی نام پروژه در Solution Explorer راست کلیک کرده Properties را انتخاب کنید . تب Application را انتخاب کنید .
چک باکس مربوط به اجرای یکبار برنامه را تیک بزنید (Make single instance application )
دکمه View Application Events را کلیک کنید فایل ApplicationEvents.vb ظاهر می شود درون این فایل از مستطیلهای بالا مربوط به کلاس و متد می توانید Application Events و متد StartupNextInstance را انتخاب کنید . مثال msdn را اینجا بنویسید و آخر سر هم حالشو ببرید.