示例#1
0
        /// <summary>
        /// 用于测试一个程序是否是唯一实例,通过字符串进行限制。
        /// </summary>
        /// <param name="appId"></param>
        public static bool IsSingleton(string appId)
        {
            MemoryShare ms = new MemoryShare();

            ms.Init(appId);
            byte[] bts = new byte[ms.MaxLength];
            ms.Read(ref bts, 0, bts.Length);

            bool b = true;

            for (int i = 0; i < bts.Length; i++)
            {
                if (bts[i] > 0)
                {
                    b = false;
                    break;
                }
            }

            if (b)
            {
                for (int i = 0; i < bts.Length; i++)
                {
                    bts[i] = 1;
                }
                ms.Write(bts, 0, bts.Length);
            }

            return(b);
        }