Ricky Hao

C语言 最简单的防多开小程序

因为是最简单的。
所以,这个程序用创建一个额外的文件来判断程序是否多开。
那么,就是在程序里面,先尝试打开一个.temp文件。
若打不开,则创建创建这个文件。
若能够打开,则判断已经有一个程序在运行中,就exit()。
那么,简单的代码来了:

#include 
#include 

int  main()
{
    FILE * fp;
    fp=fopen(".temp","r");
    if(fp==NULL)
        fp=fopen(".temp","w");
    else
    {
        puts("Program is running.");
        exit(1);
    }
    while(getchar()=='1')
        ;
    fclose(fp);
    remove(".temp");
    return 0;
}

对了,千万记住,这个文件在程序结束的时候要删除掉,不然就再也开不起来了。
还有就是,创建的临时文件最好有一个固定的路径,不要像我一样创建在当前路径。不然换个目录运行就能多开了。

开始脑洞吧!还有什么其他的方法能够防止多开呢?
1.绑定端口?(可能误判
2.检测进程名字
3.内存检测判断?(不一定可行
4.桌面截图判断?(丧心病狂
5.重要文件独享
6….

点赞
  1. Bahai说道:

    :smile: 使用。正想破头脑。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据