文章目录
前言
在一些特殊需求业务下,打开程序不能多次打开。例如:微信
再点击电脑版微信任务栏时。点击此处无反应,只是展示当前页面,并没有多开程序等。
通过设置winform api
话不多说,直接上代码
static class Program
{
[DllImport("user32.dll")]
private static extern bool FlashWindow(IntPtr hWnd, bool bInvert);
[DllImport("user32.dll")]
private static extern bool FlashWindowEx(int pfwi);
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
bool runone;
System.Threading.Mutex run = new System.Threading.Mutex(true, "single_test", out runone);
if (runone)
{
run.ReleaseMutex();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Home home = new Home();
int hdc = home.Handle.ToInt32();
Application.Run(home);
IntPtr intPtr = new IntPtr(hdc);
//Application.Run(new Demo_From());
}
else {
//MessageBox.Show("已经运行一个实例了");
}
}
}