zoukankan      html  css  js  c++  java
  • 只启动一个应用程序实例控制类

    using System;
    using System.IO;
    using System.Diagnostics;
    using System.Threading;
    using System.Reflection;
    using System.Runtime.InteropServices;

    namespace Zhengzuo.CSharpCode
    {
        
    /// <summary>
        
    /// 只启动一个应用程序实例控制类
        
    /// </summary>

        public static class SingleInstance
        
    {
            
    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);
            
    //标志文件名称
            private static string runFlagFullname = null;
            
    //声明同步基元
            private static Mutex mutex = null;

            
    /// <summary>
            
    /// static Constructor
            
    /// </summary>

            static SingleInstance()
            
    {
            }


            
    api实现


            
    Mutex实现


            
    设置标志实现
        }


    }
  • 相关阅读:
    Java虚拟机:十七、互斥同步、锁优化及synchronized和volatile
    Java虚拟机:十六、Java内存模型
    Java虚拟机:十五、运行期优化
    Java虚拟机:十三、Java类加载机制
    Java虚拟机:十四、类加载器
    Java虚拟机:十二、虚拟机性能监控与故障处理工具
    字符集
    发布订阅、事务和脚本
    HyperLogLog和GEO
    Redis 的数据结构
  • 原文地址:https://www.cnblogs.com/dreign/p/946225.html
Copyright © 2011-2022 走看看