# ขอบคุณ เพื่อน เกียรติ เด็ก มอ อุบล สำหรับโค้ดนี้
# single instance คือ เมื่อเราเปิดโปรแกรมไปแล้วจะไม่สามารถเปิด โปรแกรมตัวนั้นได้อีก
# ต้องปิดมันก่อนถึงจะเปิดใหม่ได้
# ฝั่ง java เคยทำนะ ด้วย install4j หรือ exe4j หว่า ^^' (สักตัวอ่ะ) ตอนทำตัวติดตั้งอ่ะ ตั้งค่าแบบนี้ได้เลย
using System;
using System.Windows.Forms;
using System.Threading;
class App : Form
{
Mutex mutex;
App()
{
Text = "Single Instance!";
mutex = new Mutex(false, "SINGLE_INSTANCE_MUTEX");
if (!mutex.WaitOne(0, false))
{
mutex.Close();
mutex = null;
}
}
protected override void Dispose(bool disposing)
{
if (disposing)
mutex.ReleaseMutex();
base.Dispose(disposing);
}
static void Main()
{
App app = new App();
if (app.mutex != null)
Application.Run(app);
else
MessageBox.Show("Instance already running");
}
}
No comments:
Post a Comment