PDA

View Full Version : اجرا نشدن برنامه بیش از یک بار



system32
جمعه 29 خرداد 1388, 19:07 عصر
دوستان سلام. به فرض من یه نرم افزار نوشتم حالا می خوام کاری کنم که اگه یک بار نرم افزارم اجرا شد و هنوز هم در حال اجرا بود اگه خواستند دوباره نرم افزار را اجرا کنند اجرا نشه. اگه متوجه نشدین می تونین تو ران بنویسید regedit ران کنید حالا اگه دوباره ران کنید نمی یاد یه پنجره دیگه بسازه بلکه همون یکی را نگه می داره. دوستان این یه مساله حیاتیه لطفا اگه دوستان می تونند کمک کنند دریغ نکنند. :چشمک:

Open-Source
جمعه 29 خرداد 1388, 21:24 عصر
شما باید پروسس های سیتسم رو چک کنید.
اگر پروسس مورد نظر شما در حال اجرا بود برنامه رو قبل از لود شدن ببندید یا پیغامی بدید.

برای این کار میتونید از شی process استفاده کنید.

h.jaza
جمعه 29 خرداد 1388, 21:28 عصر
خیلی بحث شده، سرچ کن...

کار خیلی ساده ای باید انجام بشه، کافیه تنها از طریق پروسس های جاری، چک کنی برنامت در حال اجرا هست یا نه...

سرچ کن...

adinochestva
جمعه 29 خرداد 1388, 21:46 عصر
اینو بخوان
http://nothingelz.com/singleton-app/

system32
جمعه 29 خرداد 1388, 23:07 عصر
از لینک ها و توضیحاتتون ممنون. ولی دوستان اگه می دونستم چه چیزی رو سرچ کنم که مزاحم شما نمی شدم. دو سه تا کلمه را قبلش سرچ کردم یه سری موضوعات بی ربط اومد. حالا اگه لااقل یکی لطف کنه یه کلاسی، چیزی که در این مورد کاربرد داره معرفی کنه ممنون می شم. لطفا یه سری کدهای پیچیده نزارین که سر آدم سوت بکشه. :چشمک:

system32
جمعه 29 خرداد 1388, 23:20 عصر
دوستان بازم سلام. کلمه process نظرم را جلب کرد. یه سرچ زدم تو هلپ سی شارپ به جوابم رسیدم. گفتم کد مثال و بزارم دوستان هم استفاده کنند. از کلیه عزیزان که بنده را کمک کردند ممنونم.




using System;
using System.Diagnostics;
using System.ComponentModel;
namespace MyProcessSample
{
/// <summary>
/// Shell for the sample.
/// </summary>
class MyProcess
{



void BindToRunningProcesses()
{
// Get the current process.
Process currentProcess = Process.GetCurrentProcess();

// Get all instances of Notepad running on the local
// computer.
Process [] localByName = Process.GetProcessesByName("notepad");

// Get all instances of Notepad running on the specifiec
// computer.
// 1. Using the computer alias (do not precede with "\\").
Process [] remoteByName = Process.GetProcessesByName("notepad", "myComputer");

// 2. Using an IP address to specify the machineName parameter.
Process [] ipByName = Process.GetProcessesByName("notepad", "169.0.0.0");


// Get all processes running on the local computer.
Process [] localAll = Process.GetProcesses();

// Get all processes running on the remote computer.
Process [] remoteAll = Process.GetProcesses("myComputer");

// Get a process on the local computer, using the process id.
Process localById = Process.GetProcessById(1234);

// Get a process on a remote computer, using the process id.
Process remoteById = Process.GetProcessById(2345, "myComputer");

}


static void Main()
{

MyProcess myProcess = new MyProcess();

myProcess.BindToRunningProcesses();
}
}
}

NewFoxStudent
شنبه 30 خرداد 1388, 09:55 صبح
http://barnamenevis.org/forum/showpost.php?p=473313&postcount=125

http://barnamenevis.org/forum/showpost.php?p=470337&postcount=71

http://barnamenevis.org/forum/showpost.php?p=482919

http://barnamenevis.org/forum/showpost.php?p=473453&postcount=128