为了实现程序单例运行,我使用了WindowsFormsApplicationBase,如下:public class SingleInstanceManager : WindowsFormsApplicationBase
{
     Form m_Mainapp;
     public SingleInstanceManager(Form app)
     {
        m_Mainapp=app;
        IsSingleInstance=true;
     }
     
     protected override bool OnStartup(StartupEventArgs eventArgs)
     {
            Application.Run(m_Mainapp);
            return false;
     }
     protected override void OnStartupNextInstance(StartupNextInstanceEventArgs eventArgs)
     {
          MessageBox.Show("已运行");
     }
}现在我在两个需要单例运行的程序中使用这个SingleInstanceManager
A程序:
MainFormA forma=new MainFormA();
SingleInstanceManager manager=new SingleInstanceManager(forma);
manager.Run(null);
B程序:
MainFormB forma=new MainFormB();
SingleInstanceManager manager=new SingleInstanceManager(formb);
manager.Run(null);
现在发现问题:
当只重复运行A程序或B程序时,工作正常。但是,如果启动了一个A程序,再启动B程序,却提示不能再运行。即认为了B程序也是A程序的实例了。但是A程序和B程序是没有任何关系的,请问这个怎么解决?