zoukankan      html  css  js  c++  java
  • 确保只有一个程序实例运行(C#)之解决方案

    转帖自http://www.yesky.com/20030407/1661941.sHTML

    如何确保在C#中只有一个程序(实例)运行?

      解答:主要应用System.Diagnostics名字空间中的Process类来实现,思路,我们在运行程序前,查找进程中是否有同名的进程,同时运行位置也相同程,如是没有运行该程序,如果有,就将同名的同位置的程序窗口置前.
    主要代码:


    [C#]
    public static Process RunningInstance()
    {
    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 the other process instance.
    return process;
    }
    }
    }
    //No other instance was found, return null.
    return null;
  • 相关阅读:
    CSS选择器的优先级
    SQL Server——死锁查看
    VS2008激活找不到密匙输入框
    迷茫的周一
    SQL Server 2012使用日常
    Excel默认去除开头的0
    PDA日常问题
    第一个.NET小程序
    网站发布
    IIS配置——常见问题
  • 原文地址:https://www.cnblogs.com/zhuor/p/308985.html
Copyright © 2011-2022 走看看