一般软件的注册机制可以通过获取硬件序列号,然后用非对称加密算法生成相应的公钥和私钥。但是用ManagedCode写获取硬盘序列号的代码不能解决所有的问题,比如不能在非管理员的权限下使用,前几天Sunmast在他的Blog上发布了《如何得到硬盘序列号?.NET版本[C#]》,就是没有解决这个问题,用WMI也有很多问题。要想顺利获取硬盘的序列号,目前只能依靠非托管代码了。DiskId32是一个源码公开的C++程序,可以解决上述问题。由于代码比较底层,我对VC和
系统 2019-08-29 23:10:32 2271
系统 2019-08-29 23:01:03 2271
链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=112&page=show_problem&problem=1565原题:Don'tyouthink162456723veryspecial?Lookatthepicturebelowifyouareunabletofinditsspeciality.(a|bmeans‘bisdivisibleb
系统 2019-08-29 22:54:04 2271
使用OpenLaszlo、EclipseLaszloIDE和WebTools级别:中级ChristopherJudd,自由作家和顾问,JuddSolutions,LLCB.J.Allmon,软件咨询人员,PillarTechnologyGroup2006年2月22日很多用户都对当今基于HTML的Web应用程序的功能和性能不满意。用户想要这样的桌面应用程序,即易于安装并能够访问Web应用程序提供的功能。本教程演示如何使用开放源码的OpenLaszlo框架、基
系统 2019-08-29 22:41:42 2271
1.缘起:假设我的订单处理系统有这样的需求:将一天24小时分为4个时段,凌晨2:15到8:30采用A类型的处理器处理接收到的订单,8:30到14:00采用B类型的处理器,14:00到20:00采用C类型的处理器,20:00到第二天凌晨2:15采用D类型的处理器。即我们的订单处理器需要在任一天的2:15、8:30、14:00、20:00这四个时刻发生切换,这就是一个循环切换器所要做的工作。我设计了ESBasic.Threading.Application.I
系统 2019-08-29 22:15:06 2271
《架构实战--软件架构设计的过程》前言作者:PeterEeles&PeterCripps几年前,我们(PeterEeles和PeterCripps)开始注意到GradyBooch首创的《软件架构手册》(《HandbookofSoftwareArchitecture》,www.handbookofsoftwarearchitecture.com)。Grady起初的目的是:整理许多有趣的软件密集型系统的架构,以揭示它们的基本模式以及允许在域和架构风格之间进行比
系统 2019-08-12 09:30:21 2271
http://blogold.chinaunix.net/u3/94667/showart_2150464.html1.排序算法的稳定性分析:若待排序的序列中,存在多个具有相同关键字的记录,经过排序,这些记录的相对次序保持不变,则称该算法是稳定的;若经排序后,记录的相对次序发生了改变,则称该算法是不稳定的。(1)冒泡排序冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不
系统 2019-08-12 09:29:33 2271
对代码重用,可读性的一种设计模式。工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。解决问题:修改时关闭,扩展是开发,完全符合开放-封闭原则。工厂方法使一个类的实例化延迟到其子类。一个简单计算器,具有简单的加操作和减操作。结构如下图所示设计模式
系统 2019-08-12 01:32:42 2271
在编程界,Python是一种神奇的存在。有人认为,只有用Python才能优雅写代码,提高代码效率;但另一部分人恨不能把Python喷成筛子。那么,Python到底有没有用?作为一名C++开发者,我自认为我的语言优点太多,可做的应用也更多,这一瞬间被Python这个毛头小伙追赶上来,所以学习了Python的内容。不过,Python真有这么强吗?学了才知道,真的强大!Python到底能做什么?Python易学,编译速度又超快。因为其拥有大量第三方库,所以开发人
系统 2019-09-27 17:57:50 2270
前言我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes。将字符串和Bytes互相转换可以使用encode()和decode()方法。URL编码正常的URL中是只能包含ASCII字符的,也就是字符、数字和一些符号。而URL编码就是一种浏览器用来避免url中出现特殊字符(如汉字)的编码方式。Base64编码Base64是一种用64个字符来表示任意二进制数据的方法。Base64编码可以称为密码学的基石。可以将任意的二
系统 2019-09-27 17:55:14 2270
看知乎的时候发现了一个“如何正确地吐槽”收藏夹,里面的一些神回复实在很搞笑,但是一页一页地看又有点麻烦,而且每次都要打开网页,于是想如果全部爬下来到一个文件里面,是不是看起来很爽,并且随时可以看到全部的,于是就开始动手了。工具1.Python2.72.BeautifulSoup分析网页我们先来看看知乎上该网页的情况:网址:,容易看到,网址是有规律的,page慢慢递增,这样就能够实现全部爬取了。再来看一下我们要爬取的内容:我们要爬取两个内容:问题和回答,回答
系统 2019-09-27 17:53:39 2270
Python3快速入门(十一)——Python3数据库操作一、mysql-connector驱动1、mysql-connector简介mysql-connector是MySQL官方提供的驱动器。使用pipenv进行包管理,安装命令如下:pipenvinstallmysql-connector2、mysql-connector常用接口mysql.connector.connect(*args,**kwargs)创建一个数据库连接,返回MySQLConnect
系统 2019-09-27 17:53:15 2270
前几天看到一个关于Python的面试题lst=[1,2,[3]]lst1=lst*2#[1,2,[3],1,2,[3]]lst1[2].append(4)#[3,4]print(lst1)开始时,就处理错了。最终上机测试发现,乘法貌似是内存地址的拷贝。也就是说lst1[2]和lst1[5]都指向同一个对象,最终lst1结果如下:print(lst1)#[1,2,[3,4],1,2,[3,4]]
系统 2019-09-27 17:52:30 2270
1.枚举-enumerate可以有参数哦之前我们这样操作:i=0foriteminiterable:printi,itemi+=1现在我们这样操作:fori,iteminenumerate(iterable):printi,itemenumerate函数还可以接收第二个参数。就像下面这样:>>>list(enumerate('abc'))[(0,'a'),(1,'b'),(2,'c')]>>>list(enumerate('abc',1))[(1,'a')
系统 2019-09-27 17:52:08 2270
一、引用传递引用传递,实质是在传递内存地址二、函数默认值1、默认值参数在python中可以为函数的参数给予默认值,一旦某个存在默认值,那么如果在调用的时候,不传递这个参数,则按照默认值注意:在定义函数时,如果存在有默认值的参数,一定要写在没有默认值的参数后面,否则在调用时,无法确定参数到底传给哪个参数,程序就会报错。三、全局变量和局部变量1、全局变量就是定义在py文件中,能被任何函数、类能够正常访问的变量。2、局部变量定义在函数内部的变量,叫做局部变量注意
系统 2019-09-27 17:50:00 2270