WPF 防止程序多开

 

 

/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
[DllImport("user32")]
private static extern int SetForegroundWindow(IntPtr hwnd);
[DllImport("user32.dll")]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

protected override void OnStartup(StartupEventArgs e)
{
IntPtr parenthWnd = FindWindow(null, Assembly.GetExecutingAssembly().GetName().Name);
if (parenthWnd != IntPtr.Zero)
{
//选中当前的句柄窗口
SetForegroundWindow(parenthWnd);
Application.Current.Shutdown();
return;
}
base.OnStartup(e);
}

 

posted @ 2017-03-21 15:52  Alan_YN  阅读(2025)  评论(1编辑  收藏  举报