因为公司有个需求,需要一个安装包,只允许在一台电脑上安装,安装了之后,就无法在其他电脑安装了,我就想到了加密狗,于是就淘宝了一个safenet的超级狗superdog。

通过c#编写一个dll

先将目标框架改为 .net framework3.5,再将Assembly.cs中的comVisible的false改为true。

namespace XXXXXXX
{public class XXXXXXX{public bool GetSuperDog(){bool flag = false;string text = null;MyClass myclass = new MyClass();using (Dog dog = new Dog(new DogFeature(DogNumber))){SuperDog.DogStatus status = dog.Login(VendorCode.Code);if (status == SuperDog.DogStatus.StatusOk){//弄个数据文件DogFile file = dog.GetFile(FileNumber);status = file.Read(ref text);if (status == SuperDog.DogStatus.StatusOk){if (//自己判断){status = file.Write(myclass.getPassWord());if (status == SuperDog.DogStatus.StatusOk){flag = true;}}else{if (myclass.getPassWord() == text){flag = true;}}}}dog.Logout();}return flag;}}public class MyClass{public string getPassWord(){//具体实现就不写了return null;}}
}

在InstallShield中使用

首先添加下列这些文件

在installScript中调用dll

在installScript中开始的地方,我放在了Dlg_Start下。注意:打包的安装程序有依赖的,就是上图的这些dll,需要安装下windir下,因此,调用c#的dll之前需要将dll拷贝到%systemroot%下。

 XCopyFile(SUPPORTDIR^"*.dll",WINDIR ,COMP_NORMAL);  havedog = CheckSuperDog();if(havedog = FALSE) thenMessageBox( "XXXXX", SEVERE );abort;endif;
prototype  GetSuperDog();    function GetSuperDog() string szDllPath; object oMyTest;   begin     szDllPath= SUPPORTDIR^"XXXXXXX.dll"; //dll文件路径set oMyTest=CoCreateObjectDotNet(szDllPath,"XXXXXXX.XXXXXXX") ;//后面的字符串为命名空间if(oMyTest.GetSuperDog()) then       return TRUE;  else         return FALSE; endif;        end;

在InstallShield中写SuperDog加密狗程序相关推荐

  1. 用C#开发加密狗程序

    一些商务管理软件,为了防止盗版,经常使用加密狗将软件加密.下面的两个实例将介绍如何将密码写入加密狗及利用加密狗来设计加密程序. 在使用加密狗时,需要向加密狗中写入或读取数据.例如,将密码写入或读取加密 ...

  2. .Net中Web增加加密狗管理

    由于业务中最近需要使用到加密狗,增加对Web代码的管控,所以需要进行加密狗使用的研究 首先,对于没有接触使用过加密狗的人需要有个大致的认识,加密狗分为 MasterDog, 1.下载加密狗的开发套件, ...

  3. 制作加密狗程序_【火腿DIY】用于SDR应用程序的自定义热键键盘 | 视障人士的选择...

    Christoph用于SDR应用程序的自制自定义热键键盘 上周,我在SDRplay 社交页面上看到了Christoph Jahn的精彩文章. 克里斯托夫(Christoph)制作了一个与SDRuno一 ...

  4. 关于在Qt C++中飞天诚信Rockey5加密狗使用记录

    需要引用的windows库 1. legacy_stdio_definitions.lib 2. #pragma comment(lib,"AdvAPI32") 需要引用的头文件 ...

  5. Unity3d C#实现程序的加密狗验证功能(PC)

    前言 这里主要分享一下我实现的方式方法,在项目中会遇到加密狗功能,主要放置用户任意复杂产品,所以按套售卖的软件都需要这个功能. 实现方式 主要是以采购的方式实现的,自己造轮子没能力,过程可能大致一样, ...

  6. python加密狗的制作_如何使用U盘制作Windows系统开机加密狗图文教程

    U盘等移动设备除了可以用来储存文件,装系统以外,还可以用来制作加密狗.这篇文章中所指的加密狗仅指针对Windows系统开机的加密狗.它的作用是为了避免他人随便开启自己的电脑查看自己的私密信息,除了设置 ...

  7. USBserver专业解决用友u8|金蝶等财务加密狗在虚拟机识别动态迁移解决方案

    现在随着大家广泛使用服务器虚拟化,随之也会有些小问题出现,例如;在我们做虚拟化时候,有个应用程序需要加密狗来启动,而虚拟机上没有USB口或者USB口不够,我通常都会采用主机加前置机来解决这个问题,但是 ...

  8. 百胜服装ERP分销端使用网络加密狗

    软件版本是: BSERP_CLIENT V3.12 如果有单个加密狗,可以选单机安装,序列号处填0. 分销端,可以使用加密狗序列号,就是分公司的机器使用总公司的网络狗.填完序列号进行安装,但是运行程序 ...

  9. word中添加java代码怎么写_Java如何在word文档中写一个段落?

    在Java编程中,如何在word文档中写一个段落? 注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包.这里下载最新版本 ...

最新文章

  1. 又拍云上传文件后,如何访问?
  2. underscore.js _.map[Collections]
  3. 按钮点击_如何设置微信小程序按钮点击事件?
  4. tomcat启动分析(2)
  5. android 开源组件合集-UI篇(2013-11-07更新)
  6. Java 9迁移指南:七个最常见的挑战
  7. 从最大似然估计到最小二乘法
  8. 系统设置参数说明11
  9. org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Standard
  10. Flash Video带宽估测
  11. [目标检测系列]ATSS: Bridging the Gap Between Anchor-based and Anchor-free Detection via ATSS(CVPR2020)
  12. java对象转json
  13. android桌面半透明,Android仿Iphone屏幕底部弹出半透明PopupWindow效果
  14. #开源的ZYNQ+AD936X SDR软件无线电
  15. http和https协议下,http可以正常下载,但是https却不能
  16. GitHub的Fork 是什么意思?『举了个挺不错的例子,程序员Joe』
  17. Linux鼠标回报率修改,技术编辑帮您鼠标怎么调回报率
  18. Python (百万答题类节目)辅助工具代码(实测有效)
  19. python学习_循环语句
  20. LIS2MDL磁力计驱动

热门文章

  1. LeetCode LCP 56. 信物传送(迪杰斯特拉-最短路径)
  2. 汽车计算机英语,各类汽车的英文表达
  3. 南大周志华vs清华孙茂松深刻思辩:AI本科教育该不该单独设系?
  4. vue如何解决axios请求前端跨域问题
  5. 新服务器有预装的系统吗,服务器自带操作系统吗
  6. MRO工业品企业采购系统:如何精细化采购协同管理?想要升级的工业品企业必看!
  7. LeetCode:无重复字符的最长子串
  8. [golang]-通过node_exporter监控GPU以及cpu频率、温度
  9. 集成灶怎么选,市面上值得推荐的高性价比且质量好的集成灶甄选
  10. Intel CPU型号规格大全