PDA

View Full Version : سوال: چگونه تشخیص بدهیم که برنامه ما در حال اجراست



ahmad6630
شنبه 21 آذر 1388, 11:56 صبح
با سلام
چگونه تشخیص بدهیم که برنامه ما در حال اجراست ؟

naserrezaee
شنبه 21 آذر 1388, 12:22 عصر
دوست عزيز من توي vb 6 با كد زير اين كار رو مي كردم نمي دونم معادلش در vb.net چي ميشه !!!!
Private Sub Form_Load()
If App.PrevInstance Then
MsgBox ("برنامه هم اكنون در حال اجرا مي باشد")
End
End If

End Sub

Computer.Programmer
شنبه 21 آذر 1388, 13:33 عصر
کلاس MyApplication یک رویداد برای این کار دارد: StartupNextInstance

موفق باشی

ahmad6630
شنبه 21 آذر 1388, 16:25 عصر
متأسفانه پيدا نكردم اون كلاسي كه شما گفتيد
من از vs2008 استفاده ميكنم
اصلاً چيزي به نام myapplication نيست !

Computer.Programmer
شنبه 21 آذر 1388, 17:19 عصر
متأسفانه پيدا نكردم اون كلاسي كه شما گفتيد
من از vs2008 استفاده ميكنم
اصلاً چيزي به نام myapplication نيست !

در Solution Explorer روی پروژۀ مد نظر کلیک کنید و سپس از منوی این پنجره دکمۀ Show All File رو بزنید. حالا زیر شاخۀ MyProject را باز نمایید. زیر شاخۀ Application.myapp را نیز باز نمایید. حالا فایل Application.Designer.vb رو باز کنید در صورتی که پروژۀ شما از نوع Windows Application باشد کدها را مشاهده می کنید.

رویداد StartupNextInstance رو هم می تونید توی لیست رویدادهای این کلاس پیدا کنید و در اون کدهاتونو بنویسید.

مشکلی بود سوال کن.

موفق باشید.

saied_genius
شنبه 21 آذر 1388, 20:19 عصر
توي vb رو نمي دونم ولي توي #C من اينجوري چک مي کنم:


if (!IsProcessOpen("نام برنامه"))
{
Application.Run(new FrmMain());
}
else
{
MessageBox.Show("برنامه در حال اجرا است");
}

static bool IsProcessOpen(string name)
{
int counterProcess = 0;
//
foreach (Process clsProcess in Process.GetProcesses())
{
if (clsProcess.ProcessName.Contains(name))
{
counterProcess += 1;
//
if (counterProcess > 1)
{
return true;
}
}
}
return false;
}

موفق باشيد.

nokhodsiah2001
چهارشنبه 25 آذر 1388, 12:48 عصر
درود این تصویر رو ببین