如何实现C++编写的可执行文件只在一台电脑上运行?

2025-02-21 17:36:22
推荐回答(5个)
回答1:

其实思路就是在程序里加入一段本机特征码的判别,此处特征码可以用物理地址,系统版本号等等。
char * code = 你机器的特征码;

if(code == getCurrentCode() ){//获取当前机器的相关特征码并比较。
//想执行的代码
}else{
//退出
}

至于如何获取物理地址等等,随便搜索下,代码和解释都很多了。

回答2:

#include "stdio.h"
#include "conio.h"
int main()
{
FILE *pf1=fopen("only.txt","r");
int a;
fscanf(pf1,"%d",&a);
if(a==1)
{
printf("已有程序运行!");
return 0;
}
fclose(pf1);
FILE *pf2=fopen("only.txt","w");
int b=1;
fprintf(pf2,"%d",b);
fclose(pf2);
while(1)
{
char c=getc(stdin);
if(c='c')
break;
}
FILE *pf3=fopen("only.txt","w");
int c=0;
fprintf(pf3,"%d",c);
fclose(pf3);
return 1;
}
写入文件数值,已有程序就写1,程序退出写0

回答3:

在注册表里偷偷加点东西,然后程序启动的时候检查注册表.

或者偷偷生成某个文件,用于程序检查.

最后一个我没整过,但是最保险.
就是检测硬件,把所有的硬件信息组成一个唯一的字符串标识用于程序检测.

回答4:

通过网卡地址,硬盘号之类的限制;

确保唯一性就可以了

回答5:

检查某个路径下的文件,不存在则不执行~很简单的命令就行了