c# 怎么样才能只运行一个实例? 不允许多开

网上的方法都试过了 不行 把程序的名字改了 就又可以多开了

我的想法是打开第一个程序的时候 在进程里面创建一个隐藏的进程 在打开的时候判断下进程存在不存在 程序关闭的时候创建的进程也会立即关闭 或者有什么更好的办法

c#

3个回答

启动时在C盘生成一个文件,写入当前时间,然后用一个线程定时(如1分钟)更新文件内容时间。

关闭程序时删掉这个文件

再启动这个程序检查c盘是否存在这个文件,同时检查文件内容时间如大于更新线程间隔(1分钟,判断的时候可以取2分钟,1分钟可能有误差什么的)就启动,否则退出

时间判断是防止任务管理器结束或者意外崩溃未删除文件而无法启动程序用的

showbo
支付宝加好友偷能量挖 回复小菜来袭: 写注册表什么的也可以,或者用底层的window 钩子什么的获取进程路径,然后判断文件md5什么的,改名字文件md5不会变
接近 3 年之前 回复
u011954277
小菜来袭 这个方法可行,一般的软件也是这么限制的吗
接近 3 年之前 回复

http://www.cnblogs.com/randyzhuwei/p/5403896.html
看了下百度有不少 基本是都是互斥
进程就算了吧 开一个线程就好
或者可以创建个数据文件判断

启动前读取进程列表,看有没有本程序的进程,有就不让启动不就可以了?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐