C#开发智能设备应用程序 怎样使同一个程序只能打开一次
如题 --------------------编程问答-------------------- 请看单例模式程序打开时,先判断是否存在一个单例对象,如果存在,则已经打开过,如果不存在,先创建该单例,然后打开 --------------------编程问答-------------------- 智能设备上没有Mutex类吗?
using System;
using System.Threading;
class App
{
static void Main()
{
bool bRun = false;
Mutex mutex = new Mutex(true, "AppApp", out bRun);
if (bRun)
{
Console.Write("第一次运行");
}
else
{
Console.Write("已经运行");
}
Console.ReadKey();
}
}
--------------------编程问答-------------------- 智能设备的Mutex不同没有out
--------------------编程问答-------------------- 怎么判断单例对象
--------------------编程问答-------------------- 没有Mutex类,那总该有下面两个API吧
[DllImport("kernel32.dll")]
static extern IntPtr CreateMutex(IntPtr lpMutexAttributes, bool bInitialOwner,
string lpName);
[DllImport("kernel32.dll")]
static extern IntPtr OpenMutex(uint dwDesiredAccess, bool bInheritHandle,
string lpName); --------------------编程问答-------------------- 项目里没有“生成单个实例应用程序”的选项吗 --------------------编程问答--------------------
--------------------编程问答-------------------- 这两个有然后该怎么写呢
--------------------编程问答-------------------- 然后到百度(别去google)去查询这两个API的使用方法
当然最好到cnblogs上查询,直接有C#的代码
--------------------编程问答-------------------- 许多优秀的开源服务软件,使用一个只有1字节的文件来为进程加锁。而不是用特殊的api。 --------------------编程问答--------------------
这样不会有问题吗?
--------------------编程问答--------------------
我好像有几次
需要手工删除.lock文件才能再次运行
补充:.NET技术 , C#