سلام
چطوری کاری کنم وقتی یه نسخه از برنامم در حال اجراست دوباره اجرا نشه
و به کاربر بگه برنامه الان در حال اجراست؟
با تشکر
Printable View
سلام
چطوری کاری کنم وقتی یه نسخه از برنامم در حال اجراست دوباره اجرا نشه
و به کاربر بگه برنامه الان در حال اجراست؟
با تشکر
ساده ترین راه Open کردن یه فایل هست
زمان Run سیستم فایل رو باز کنید.
چک کن تا زمانی که فایل باز هست برنامه دوباره باز نشه.
زمان بسته شدن برنامه هم فایل بسته شه.
راه های دیگه هم هست که راه های سخت تری هست
شما به همین اکتفا کن.
از طریق api نیز می توانید برنامه ای را از روی title اش پیدا کنید
سلام
ممنونم
به این لینک ها مراجعه کن :
http://codeproject.com/csharp/CSSIApp.asp
http://codeproject.com/csharp/single_instance.asp
http://codeproject.com/csharp/singleinstance.asp
http://codeproject.com/csharp/restricting_instances.asp
http://codeproject.com/csharp/single...pplication.asp
امیدوارم بهترین جواب را پیدا کرده باشی.
درسته دوست عزیزنقل قول:
نوشته شده توسط m_nejad
ولی من پیشنهاد دادم لقمه رو دور سرش نچرخونه.
وگرنه راههای دیگه ای هم وجود داره ...
مثل Singleton Pattern
نقل قول:
نوشته شده توسط M.GhanaatPisheh
به نظر من استفاده از api چرخوندنه لقمه دوره سر نیست . خیلی حرفه ای تر از باز و بسته کردن یک فایل هست
من تازه کارم. ولی اگه بتونم کمک کنم خوشحال می شم...
من از این کد استفاده می کنم:
static void Main()
{
System.Diagnostics.Process [] proc= System.Diagnostics.Process.GetProcessesByName("ur Application Name");
if(proc.Length>1)
{
MessageBox.Show("Barname dar hale ejra mibashad");
}
else
{
Application.Run(new Form1());
}
}
فقط باید نام فایلExe. تغییر نکنه
که راههای دیگه ای وجود داره.