经过我的测试,还比较好用,但是有个问题,如果不注销,用另一个用户进入,则程序不能判断出已运行。所以只限于用在单用户环境,还是不太完美。

class Program
{
[STAThread]
static void Main(string[] args)
{
//防止程序多次运行
if (!OneInstance.IsFirst("MyTest"))
{
Console.WriteLine("警告:程序正在运行中! 请不要重复打开程序!可在右下角系统栏找到!");
return;
}
Console.WriteLine("正在运行中");
Console.ReadLine();
}
}
public static class OneInstance
{
///<summary>
///判断程序是否正在运行
///</summary>
///<param name="appId">程序名称</param>
///<returns>如果程序是第一次运行返回True,否则返回False</returns>
public static bool IsFirst(string appId)
{
bool ret = false;
if (OpenMutex(0x1F0001, , appId) == IntPtr.Zero)
{
CreateMutex(IntPtr.Zero, , appId);
ret = true;
}
return ret;
}
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr OpenMutex(
uint dwDesiredAccess, // access
int bInheritHandle, // inheritance option
string lpName // object name
);
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr CreateMutex(
IntPtr lpMutexAttributes, // SD
int bInitialOwner, // initial owner
string lpName // object name
);
}

出处:http://blog.csdn.net/lanman/article/details/3648455

最新文章

  1. 处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler”
  2. Java特性之多态父类与子类之间的调用
  3. Excel Note
  4. 教你如何完美保存Html编辑器编辑过的文本到Word中
  5. 完美解决:Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&amp;arch=x
  6. SourceTree - 正在检查源... When cloning a repository, &quot;Checking Source&quot; spins forever
  7. Tiff – 值得你体验一下的可视化的字体对比工具
  8. 关于zero pivot
  9. 都是以父元素的width为参照物的
  10. POJ 3468 A Simple Problem with Integers(树状数组)
  11. java第二周学习日记
  12. char值码对应大全
  13. WPF学习(11)2D绘图
  14. linux下crontab的使用实现
  15. 觉得VR头显太笨重?轻便的VR“神器”来了
  16. JavaScript input框输入实时校验
  17. view类的XML属性
  18. linq语句复杂查询和分开查询的性能对比
  19. Mac下CUDA开启及Tensorflow-gpu安装
  20. 第三次Java作

热门文章

  1. 用树状数组求逆序对数(poj2299)
  2. spring security实现限制登录次数功能
  3. Ubuntu下MongoDB的安装
  4. SSH免密登录配置
  5. 创建CMD启动环境
  6. Linux下Python安装(脚本全)
  7. PetaPoco入门
  8. HDU 1561 The more, The Better(树形DP+01背包)
  9. LeetCode OJ:First Bad Version(首个坏版本)
  10. css3 伪类