VC++ 编写软件的使用期限
来源:互联网 发布:google 人工智能框架 编辑:程序博客网 时间:2024/05/06 04:22
转载请注明出处——(作者:王晖)http://blog.csdn.net/wangminjing/archive/2008/09/14/2928099.aspx
//定义一个函数QiXian(),用来实现给自己的软件加上期限.
//首先检查系统当前时间是否是2008年,如果是则可运行,否则,检查是否有/激活文件,如果有则可运行,否则退出.
//本例激活文件存放到系统目录(system32)下“Perflib_Perdata.dat”文件里
void CMyDlg::QiXian()
{
//设置变量m_bjihuo用来判断是否激活.
m_bjihuo=FALSE;
//设置变量存储当前系统时间
COleDateTime m_jihuoshijian;
CString v_jihuoshijian;
CString m_yanzhengjihuo;
int n_yanzhengjihuo;
//调用系统时间与使用时间比较
m_jihuoshijian=COleDateTime::GetCurrentTime();
v_jihuoshijian=m_jihuoshijian.Format("%Y年%m月%d日");
//截取到年即前6个字节(4个阿拉伯数字和1个汉字),以便于比较。
v_jihuoshijian=v_jihuoshijian.Left(6);
if(v_jihuoshijian!="2008年")
{
//如果不是2008年,那么到系统目录(system32)下查看“Perflib_Perdata.dat”文件里的数字是否为1。
//如果为1,表明已经激活。
//如果非1,表明未激活。
CFileStatus status;
FILE *fp;
char buf[512];
// 获取系统路径"c://windows//system32"或"c://winnt//system32"
TCHAR szDir[MAX_PATH];
CString mSyspath;
::GetSystemDirectory(szDir,MAX_PATH);
TRACE ("%s",szDir);
mSyspath.Format("%s",szDir);
if(CFile::GetStatus(mSyspath+"//Perflib_Perdata.dat",status))
{
fp=fopen(mSyspath+"//Perflib_Perdata.dat","rb");
fread(buf,2,2,fp);
m_yanzhengjihuo.Format("%s",buf);
fclose(fp);
n_yanzhengjihuo=atoi(m_yanzhengjihuo);
if(n_yanzhengjihuo==1)
m_bjihuo=TRUE;
else
m_bjihuo=FALSE;
}
if(m_bjihuo)
return;
else
{
AfxMessageBox("本软件已过期。/n与作者联系取得授权文件。");
OnAbout();
OnCancel();
}
}
}
- VC++ 编写软件的使用期限
- 中秋献丑--软件使用期限
- 例程codegen功能之一:限制软件的使用期限
- 设定软件使用期限,根据网络时间保护试用软件产品的方法
- 一个VC编写的虚拟桌面软件
- 燃气灶产品的使用期限是几年?
- 教你如何解除试用版软件的期限
- 软件项目经理新手上路(8) - 最后期限的迷局
- VC 使用 MinGW编写的dll
- 求用vc++编写的键盘记录软件全部步骤谢谢
- 查看DB2使用期限
- 使用win32编写的二维绘图软件
- 用VC判断软件使用的操作系统
- VC所带的Depends软件使用
- .Net用户使用期限的设置、限制通用小组件
- MFC生成的exe如何添加使用期限
- 胶水使用在介质上的寿命期限
- VC的makefile编写
- 表格宽度自动适应表格内容的研究(VB6.0)
- 几道c语言的题目
- javascript做的高亮效果
- 删除文件bat
- 同步与异步置复位的区别
- VC++ 编写软件的使用期限
- 写得蛮好的linux学习笔记
- 系统学习Linux的11点建议
- 工作心得
- 我与Oracle数据库11g的亲密接触
- ORACLE数据库11g减少宕机
- ORACLE数据库11g减少宕机
- ORACLE数据库11g减少宕机
- 什么是句柄