修改Program.cs,其中Scanning改成具体的项目名称
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace Scanning
{
internal static class Program
{
[DllImport("User32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);
[DllImport("User32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);
private const int SwShownomal = 1;
private static void HandleRunningInstance(Process instance)
{
ShowWindowAsync(instance.MainWindowHandle, SwShownomal);//显示
SetForegroundWindow(instance.MainWindowHandle);//当到最前端
}
private static Process RunningInstance()
{
using (var currentProcess = Process.GetCurrentProcess())
{
var processes = Process.GetProcessesByName(currentProcess.ProcessName);
foreach (var process in processes)
{
if (process.Id == currentProcess.Id) continue;
if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == currentProcess.MainModule?.FileName)
{
return process;
}
}
}
return null;
}
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
private static void Main()
{
var process = RunningInstance();
if (process == null)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Scanning());
}
else
{
HandleRunningInstance(process);
Environment.Exit(1);
}
}
}
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容