登录
首页 » VC++源码 » VC++ 实现对软件的简单加密(注册)功能

VC++ 实现对软件的简单加密(注册)功能

于 2022-11-07 发布 文件大小:20.53 kB
0 231
下载积分: 2 下载次数: 1

代码说明:

VC++ 实现对软件的简单加密,本程序是通过C盘序列号来加密文件,实现软件的注册功能,软件号和C盘序列号同时正确才可验证,而C盘的序列号是唯一的,获得c盘序列号的代码如下:   DWORD VolumeSerialNumber;   GetVolumeInformation("c:",NULL,12,&VolumeSerialNumber,NULL,NULL,NULL,10);   VolumeSerialNumber^=0x12345678;//本机c盘序列号简单运算   m_usernum=VolumeSerialNumber;   UpdateData(false);   然后通过序列的判断,来验证加密是否正确,比如下边的代码来做加密验证:   UpdateData(true);   DWORD num;   num=m_usernum;   num^=0x1999aa98+12;//加密算法   if(!(num==m_serialnum))   {    AfxMessageBox("输入的序列号不正确!");    return;   }

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 端口扫描VC6.0程序示例
    扫描端口,程序里面有一些相关的技巧是可以借鉴的,比如增加列表框标题栏的某一列、在列表框中加一条、显示列表框标题栏、单击“扫描单个端口”单选按钮、单击“扫描多个端口”单选按钮、开始扫描时绑定进度条组件、不合理IP的处理、扫描单个端口、连接主机,测试端口是否打开、设置扫描完毕状态、将扫描结果填充到列表框中、测试主机的某个端口是否打开、保存扫描结果到文本文件中等。
    2022-10-09 07:35:03下载
    积分:1
  • VC++ 实现定制打印页的页眉和页脚
    VC++ 实现定制打印页的页眉和页脚,除了自定义打印页脚和页眉外,还可根据每页显示行数,设置打印页数,并且在需要时,屏蔽默认函数对OnDraw的调用。打印方面的定制,可参考以下代码:   void CMultiPrint2View::PrintHeader(CDC *pDC)//定制页眉   {   pDC->TextOut(0,0,"设置打印页眉和页脚测试:来首诗吧:再别康桥");   }   void CMultiPrint2View::PrintFooter(CDC *pDC)//定制页角   {   CMultiPrint2Doc* pDoc = GetDocument();//获取文档指针   ASSERT_VALID(pDoc);   CString str;   CPoint point(0,-1440*10-1000);   str.Format("当前文档:%s",(LPCSTR)pDoc->GetTitle());//获取当前文档名   pDC->TextOut(point.x,point.y,str);   str.Format("第%d页,共%d页",m_nPage,(pDoc->m_stringArray.GetUpperBound()/pDoc->m_LinePerPage+1));   CSize size=pDC->GetTextExtent(str);//获取输出文本宽度   point.x+=1440*6+1600-size.cx;   pDC->TextOut(point.x,point.y,str);   }完整的代码请下载源码吧。
    2022-07-05 00:30:40下载
    积分:1
  • 基于C++的打砖块游戏
    基于C++的打砖块游戏源码,就是撞球游戏了,打乒乓球的,不过这个源代码基于C++ 实现,运行后会自动全屏,界面效果如截图所示,源代码是来自国外网站的,全部是英文注释,有兴趣的学习研究一下,游戏的操控效果还是很流畅的,值得学习。
    2023-07-17 19:35:03下载
    积分:1
  • VC++ 6.0 测试监听用户的鼠标事件
    VC++ 鼠标事件测试,本程序的功能:测试用户的鼠标事件,在客户区显示信息,获得当前客户区的矩形区域,程序可判断当前按下的是鼠标左键或右键,或是鼠标移动了,是否操作了鼠标滚轮,以及当前是否松开了鼠标右键或左键等事件。
    2023-08-14 22:50:02下载
    积分:1
  • VC++ 创建生成大文件
    VC创建大文件的例子,这个例子是VC++源码实例,面向VC++6.0运行环境。测试时注意生成的路径,要重新 设置一下,生成文件 不是问题,但生成大文件 往往会导致一系列问题,这个源码的实例向大家介绍如何避免出现这些问题。   // 处理出错信息   //获得信息   LPVOID lpMsgBuf; //Windows will allocate   ::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,0,    GetLastError(),MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), //默认语言    (LPTSTR)&lpMsgBuf, 0, NULL );   //显示   ::MessageBox(0, (LPCTSTR)lpMsgBuf, _T("GetLastError"), MB_OK|MB_ICONINFORMATION );   //lpMsgBuf中是你要的错误提示.   //释放内存   ::LocalFree( lpMsgBuf );   return;
    2022-02-26 16:50:15下载
    积分:1
  • VC++ 6.0 实现选中项缩进的列表框
    VC++ 6.0 实现选中项缩进的列表框,选中列表项后,该项缩进,文本显示为红色,自定义列表框控件,注意观察选中后的特性,重载控件的DrawItem函数。下面来看实现这一功能的代码段:   dc.Attach(lpDrawItemStruct->hDC);//获取列表框的DC   CRect rect(lpDrawItemStruct->rcItem);//获取列表框的矩形区域   COLORREF bk = dc.GetBkColor();//背景颜色   COLORREF fg = dc.GetTextColor();//系统文本颜色   if(lpDrawItemStruct->itemState & ODS_SELECTED)//该项被选中   {    bk = RGB(180,180,0 );//背景颜色    fg = RGB(255,0,0 );//红色文本   }   dc.SetTextColor(fg);   CBrush brush(bk);   dc.FillRect(&rect,&brush);   if (lpDrawItemStruct->itemState&ODS_SELECTED)   rect.left +=25;//缩进25个象素   int nBkMode = dc.SetBkMode( TRANSPARENT );   CString str;   GetText(lpDrawItemStruct->itemID,str) ;   dc.DrawText(str, &rect, DT_LEFT|DT_VCENTER);//显示文本   dc.SetTextColor(fg);   dc.SetBkMode( nBkMode );   dc.Detach() ;
    2022-06-13 09:32:23下载
    积分:1
  • VC++ CFileException异常处理用法范例
    VC++ CFileException异常处理用法范例,   catch(CFileException* e)   {    switch(e->m_cause)    {    case CFileException::fileNotFound:    {    strMessage.Format("打开文件时发生异常(try/catch):    在指定位置没有找到文件%s ",strFile);    AfxMessageBox(strMessage);    TRACE("即将删除捕获到的异常对象CFileException::fileNotFound ");    AfxMessageBox("即将删除捕获到的异常对象CFileException::fileNotFound");    //删除异常对象    e->Delete();    TRACE("成功删除捕获到的异常对象CFileException::fileNotFound ");    AfxMessageBox("成功删除捕获到的异常对象CFileException::fileNotFound");    break;    }    case CFileException::invalidFile:    {    strMessage.Format("打开文件时发生异常(try/catch):    文件%无效 ",strFile);    AfxMessageBox(strMessage);    TRACE("即将删除捕获到的异常对象CFileException::invalidFile ");    AfxMessageBox("即将删除捕获到的异常对象CFileException::invalidFile");    //删除异常对象    e->Delete();    TRACE("成功删除捕获到的异常对象CFileException::invalidFile ");    AfxMessageBox("成功删除捕获到的异常对象CFileException::invalidFile");    break;    }    default:    break;    }   }
    2022-01-26 02:02:12下载
    积分:1
  • 带有服务端和客户端的VC++点对点,聊天及
    带有服务端和客户端的VC++点对点,聊天及数据传输源码,也就是大家熟悉的CS结构,一个是接收消息,一个是发送消息,在服务端和客户端都可以显示消息内容和连接状态。运行的最终效果请参见如图所示。   运行图是Server服务端的效果,客户端没有编译。   void CClientDlg::OnBottonsend()   {    UpdateData();    if (!m_strSend.IsEmpty())    m_client.Send(m_strSend,m_strSend.GetLength());    else    AfxMessageBox("发送内容不能为空!");   }
    2022-11-23 12:00:03下载
    积分:1
  • VC++ Windows Shell扩展 上下文菜单扩展
    VC++ Windows Shell扩展,设计 制作 上下文菜单扩展,响应右键消息菜单,当用户点击我们添加的菜单项时该方法将被调用。将生成的菜单插入到shell上下文菜单中,返回插入的菜单数,一定要返回正确,包括生成的父菜单也要计入总数,如果用户是在浏览器窗口中右击文本文件,或选中一个文本文件后单击文件菜单时,状态栏会显示提示帮助。。。。
    2022-07-10 00:48:50下载
    积分:1
  • VC++ 6.0 定制分割条(分隔条)的样式及大小
    VC++ 6.0 定制分割条,也就是窗体的分隔条,将窗口分隔成若干个部分,用来显示不同的内容,该窗格视图为CStaticSplitWnd4View,该窗格大小不能通过拖动改变,不过我们可以通过菜单命令动态改变大小,窗格视图为CView2,该窗格大小不能通过拖动改变,窗格视图CView3和CView4都可以通过分隔条的拖动来改变视图大校   本示例中的分隔条经过了初级的美化,而且也向用户展示了,如何通过分割条来固定分栏窗格视图的大小,如何让分隔条不支持拖动等功能。
    2023-08-22 18:20:04下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载