mutex 实现 只允许一个进程

时间:2023-03-09 17:22:11
mutex 实现 只允许一个进程
  static class Program
{
[STAThread]
static void Main()
{
bool createdNew=false;
Mutex mutex = new Mutex(true, @"Global\AirVoice", out createdNew);
try
{ if (createdNew)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); LoginForm loginForm = new LoginForm();
if (loginForm.ShowDialog() != DialogResult.OK)
{
return;
} IMultimediaManager multimediaManager = MultimediaManagerFactory.GetSingleton();
multimediaManager.CameraDeviceIndex = ;
multimediaManager.MicrophoneDeviceIndex = ;
multimediaManager.AutoAdjustCameraEncodeQuality = false;
multimediaManager.CameraEncodeQuality = ; multimediaManager.ChannelMode = ChannelMode.P2PChannelFirst;
multimediaManager.Initialize(loginForm.CurrentUserID, loginForm.CurrentPwd, ConfigurationManager.AppSettings["ServerIP"], int.Parse(ConfigurationManager.AppSettings["ServerPort"])); multimediaManager.AllowControlDesktop = false;
multimediaManager.OutputDesktop = false; MainForm mainForm = new MainForm();
mainForm.Initialize(multimediaManager, loginForm.CurrentUserID); Application.Run(mainForm);
}
}
catch (Exception ee)
{
MessageBox.Show(ee.Message + "," + ee.StackTrace);
}finally
{
mutex.ReleaseMutex(); }
}
}