zoukankan      html  css  js  c++  java
  • 【源码】Program启动 两种不同的登录切换窗口的方法

    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;
    using Zone;
    using System.Diagnostics;
    using System.Reflection;
    using System.Runtime.InteropServices;
    namespace SmsSend
    {
    static class Program
    {
    private const int WS_SHOWNORMAL = 1;
    [DllImport("User32.dll")]
    private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);
    [DllImport("User32.dll")]
    private static extern bool SetForegroundWindow(IntPtr hWnd);

    internal static ApplicationContext context = new ApplicationContext(new Login());

    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main()
    {
    System.Diagnostics.Process instance = GetRunningInstance();
    if (instance == null)
    {
    //************第一种跳转窗口的方法******************

    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Login login = new Login();
    Application.Run(login);
    if (Login.flag == true)
    {
    Application.Run(new MainFm());
    }
    //*************第二种跳转窗口的方法*****************
    Application.EnableVisualStyles();
    Application.Run(context);
    //**************************************************

    }
    else
    {
    HandleRunningInstance(instance);
    }

    }
    public static Process GetRunningInstance()
    {
    Process current = Process.GetCurrentProcess();
    Process[] processes = Process.GetProcessesByName(current.ProcessName);

    foreach (Process process in processes)
    {
    if (process.Id != current.Id)
    if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName)
    return process;
    }
    return null;
    }
    public static void HandleRunningInstance(Process instance)
    {
    ShowWindowAsync(instance.MainWindowHandle, WS_SHOWNORMAL);
    SetForegroundWindow(instance.MainWindowHandle);
    }
    }
    }

  • 相关阅读:
    [poj解题]1017
    [算法] aov图拓扑算法
    【supervisord】部署单进程服务的利器
    【python】一个备份把文件备份到邮箱的python实现
    【GO】关于GO的浅显总结
    iOS开发快捷键
    iOS开发笔记
    VS2012智能提示无效解决方案
    国内几个WindowPhone广告平台
    纪念自己的第四个App:秘密Secret
  • 原文地址:https://www.cnblogs.com/chusiping/p/2224251.html
Copyright © 2011-2022 走看看