CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

请问如何将软件运行指定次数

楼主songsu(松鼠)2004-12-01 18:27:22 在 VC/MFC / 进程/线程/DLL 提问

例如现在已经编写一个软件,但是只想让它运行三次,也就是运行三次后,就不能再运行了,请问如何实现? 问题点数:20、回复次数:21Top

1 楼qrlvls( 空 气 )回复于 2004-12-01 18:28:46 得分 0

在磁盘上做标记,或者看看系统中是否有不影响其它功能的存储区Top

2 楼handwolf(青松崖)回复于 2004-12-01 18:38:00 得分 10

可以在注册表中写个隐蔽的字段!代码如下:  
  最好添加在BOOL   CYourApp::InitInstance()中  
  /////////////////////////////////////////////////  
  CRegKey   hKey;  
  if(hKey.Create(HKEY_LOCAL_MACHINE,"SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION")   ==   ERROR_SUCCESS)  
  {  
  BOOL   bWrite   =   TRUE;  
  TCHAR   scTemp[_MAX_PATH];  
  DWORD   dwCount   =   sizeof(scTemp);  
  if(hKey.QueryValue(scTemp,"SystemVctmp",&dwCount)   ==   ERROR_SUCCESS)  
  {  
  if(atoi(scTemp)>3){  
  // MessageBox(NULL,"试用版到期!","提示",MB_OK);  
  // abort();  
  }else{  
  int   nTime   =   atoi(scTemp);  
  nTime   =   nTime   +   1;  
  CString   str;  
  str.Format("%d",nTime);  
  hKey.SetValue(str,"SystemVctmp");  
  bWrite   =   FALSE;  
  }  
  }  
  if(bWrite)  
  hKey.SetValue("1","SystemVctmp");  
  hKey.Close();  
  }Top

3 楼songsu(松鼠)回复于 2004-12-01 19:29:12 得分 0

不行不行  
  客户用还原精灵,老是把我做的标记文件还原,一还原它就又可以用了!  
  晕死了!!!Top

4 楼chinagaici(山沟里跑出来的穷小子 )回复于 2004-12-01 19:48:00 得分 3

好办,再你的可执行文件的末尾做个标记不就行了,这个客户是不能给清除的。Top

5 楼kugou123(酷狗)(彪悍的人生,不需要解释 www.xiaozhou.net)回复于 2004-12-01 20:03:39 得分 2

把次数写入exe文件本身的末尾。Top

6 楼iicup(双杯献酒)回复于 2004-12-01 20:27:34 得分 0

有还原精灵,估计没有什么好方法吧。Top

7 楼songsu(松鼠)回复于 2004-12-01 20:31:29 得分 0

各位大哥可不可以说的具体一点?我有一点不明白  
  是不是在程序里面定义一个静态变量?  
  例如  
  static   int   usernumber;//定义一个静态变量,不知道这样行不行?是不是这里分配的内存在下一次程序启动后,这个程序还是用的这个内存呀?  
  usernumber=3;  
  //然后在每次程序运行的结尾  
  usernumber=usernumber-1;  
  //是不是这样?  
  Top

8 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2004-12-01 20:52:47 得分 0

这样还是可以改Top

9 楼nastar(阿门)回复于 2004-12-01 20:58:19 得分 0

再静态,也被还原Top

10 楼songsu(松鼠)回复于 2004-12-01 20:59:15 得分 0

那大哥可不可以给一个可行性的方案?  
  我很急  
  先谢了!  
  主要是针对用户的还原精灵设计的!!!!Top

11 楼broown(程序员吃鱼香肉丝是很合理的)回复于 2004-12-02 00:08:55 得分 2

把次数写入exe文件本身的末尾。  
  ======================  
  对这个方法感兴趣!  
  能介绍吗?Top

12 楼handwolf(青松崖)回复于 2004-12-02 09:04:22 得分 3

看看  
  http://www.vckbase.com/code/listcode.asp?mclsid=15  
   
  其中的  
  多文件的合并与分解  
   
  也许年可以找到写入exe文件本身的末尾的启发!Top

13 楼nastar(阿门)回复于 2004-12-02 09:07:19 得分 0

倒。写哪不被还原???Top

14 楼iicup(双杯献酒)回复于 2004-12-02 09:15:25 得分 0

还原精灵相当于重新安装系统,  
  写到硬盘上,哪里还不是一样被还原?  
   
  因此,不能写在硬盘上。  
   
  建议从网络激活使用,  
  这样就脱离了用户还原精灵的控制范围。  
   
  Top

15 楼Rogeremail(绿色环保-菜青虫)回复于 2004-12-02 13:15:40 得分 0

直接写扇区,写到还原精灵的数据区,再标志为坏扇。用的时候再打开。Top

16 楼kurapika5(kurapika)回复于 2004-12-02 13:22:50 得分 0

网络验证是唯一方法了,,就像网游的点卡....Top

17 楼songsu(松鼠)回复于 2004-12-02 21:16:31 得分 0

哦,天啦,还这么麻烦!  
  唉,程序员真是命苦,看来用户还是可以想尽办法的破解啊!  
  还原精灵,实在是太厉害了!  
  不过我看过有些病毒在安装了还原精灵的电脑上也可以存在,不知道用了什么技术!!!Top

18 楼songsu(松鼠)回复于 2004-12-02 21:18:32 得分 0

一个小软件还要从网络上激活??  
  第一,技术问题  
  第二,相关的设施不充许向一个网络游戏一样!!  
  所以,我还是想从软件的自身出发,来考虑这个问题1!!!Top

19 楼wangjia184(我就是传说中的。。。。。。SB)回复于 2004-12-02 21:41:17 得分 0

楼上     你怎么老是找我一步啊?  
   
   
  破解还原精灵     或者   还原卡   在做标记呢?Top

20 楼songsu(松鼠)回复于 2004-12-03 18:41:49 得分 0

wangjia184(SB)   大哥,你说什么呢?  
  能不能说的具体一点?Top

21 楼songsu(松鼠)回复于 2004-12-03 21:27:45 得分 0

to     handwolf(初学者)   大哥,网站打不开啊!Top

相关问题

  • 请问如何获得软件运行的次数?
  • 如何控制程序运行次数?
  • 怎么知道指定数据库用户连接的次数?
  • 4天下载次数1670的软件!
  • 4天下载次数1670的软件! !
  • 4天下载次数1671的软件。
  • 4天下载次数1671的软件
  • run('command test.bat')是不是要指定路径?(在PB里运行)
  • 运行中动态指定事件函数?
  • 使用olecontainer时,如何在运行时指定 OLE对象?

关键词

  • 精灵
  • 软件
  • 文件
  • 用户
  • 网络
  • sctemp
  • 还原精灵
  • systemvctmp
  • ntime
  • usernumber

得分解答快速导航

  • 帖主:songsu
  • handwolf
  • chinagaici
  • kugou123
  • broown
  • handwolf

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo