Rabu, 19 November 2008

Buat C# jadi single instance app

karena tertarik dengan fitur yang ada di VB, dimana kita bisa set sebuah aplikasi menjadi hanya single instance app, di mana untuk 1 komputer, program hanya bisa dijalankan 1 kali saja. dengan VB ini bisa didapat dengan sangat2 mudah, yaitu dengan mengatur settingan dibagian properties > application - lihat bagian 'make single instance application' (berikan tanda cek dipilihan yang satu ini). ok, itu saja,

nah, bagaimana kalau ingin diterapkan di C#, setelah coba dicari dibagian settingan properties, ternyata pilihan untuk itu tidak ada, karena penasaran, coba langsung cari solusinya dengan google, dan akhirnya dapat :-). sisipkan code dibawah ini ke dalam aplikasi anda:

using System.Threading;

static void Main(){
bool firstInstance = false;
string safeName = Application.UserAppDataPath.Replace(@"\", "_");
Mutex mutex = new Mutex(false, safeName, out firstInstance);
if(firstInstance){
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}

dan test untuk dijalankan, and voila..... akhirnya bisa single instance jg :-)

semoga bermanfaat,
ADI

Tidak ada komentar: