45fan.com - 路饭网
首页
路由器设置
无线路由器
路由器密码
网络频道
手机频道
电脑频道
图库频道
问答中心
搜索:
智能搜索
搜索标题
您的位置
:
主页
>
电脑频道
>
电脑教程
> 阅读资讯:怎么样通过ASP编程获得硬盘序列号?
怎么样通过ASP编程获得硬盘序列号?
2016-09-06 06:45:10 来源:www.45fan.com 【
大
中
小
】
怎么样通过ASP编程获得硬盘序列号?
Private
Declare
Function
GetVolumeInformation
&
Lib
"
kernel32
"
Alias
"
GetVolumeInformationA
"
(ByVallpRootPathName
As
String
,ByValpVolumeNameBuffer
As
String
,ByValnVolumeNameSize
As
Long
,lpVolumeSerialNumber
As
Long
,lpMaximumComponentLength
As
Long
,lpFileSystemFlags
As
Long
,ByVallpFileSystemNameBuffer
As
String
,ByValnFileSystemNameSize
As
Long
)
Private
Const
MAX_FILENAME_LEN
=
256
Private
Const
GETSERIALPASSWORD
=
"
lxy
"
Public
Function
DriveSerial(ByValsDrv
As
String
)
As
Long
'
得到硬盘的序列号
Dim
RetVal
As
Long
Dim
str
As
String
*
MAX_FILENAME_LEN
Dim
str2
As
String
*
MAX_FILENAME_LEN
Dim
a
As
Long
Dim
b
As
Long
Call
GetVolumeInformation(sDrv
&
"
:
"
,str,MAX_FILENAME_LEN,RetVal,a,b,str2,MAX_FILENAME_LEN)
DriveSerial
=
RetVal
EndFunction
Public
Function
GetApplySerial()
As
Long
'
根据c盘的序列号生成一个申请码
GetApplySerial
=
DriveSerial(
"
c
"
)
If
GetApplySerial
<
0
Then
GetApplySerial
=
0
-
GetApplySerial
EndFunction
'
根据申请码和密码表及密码得到序列号
Public
Function
getSerial(ByValSRC
As
Long
,ByValPASSWORD
As
String
)
As
String
Dim
SourceString
As
String
Dim
NewSRC
As
Long
For
I
=
0
To
30
If
(SRC
And
2
^
I)
=
2
^
I
Then
SourceString
=
SourceString
+
"
1
"
Else
SourceString
=
SourceString
+
"
0
"
End
If
Next
I
If
SRC
<
0
Then
SourceString
=
SourceString
+
"
1
"
Else
SourceString
=
SourceString
+
"
0
"
End
If
Dim
Table
As
String
'
==========================================================================
'
参数Table是密码表,根据你的要求换成别的,不过长度要一致
'
==========================================================================
'
注意:这里的密码表变动后,对应的注册号生成器的密码表也要完全一致才能生成正确的注册号
Table
=
"
JSDJFKLUWRUOISDH;KSADJKLWQ;ABCDEFHIHL;KLADSDKJAGFWIHERQOWRLQH
"
'
==========================================================================
Dim
TableIndex
As
Integer
Dim
Result
As
String
Dim
MidWord
As
String
Dim
MidWordValue
As
Byte
Dim
ResultValue
As
Byte
For
t
=
1
To
1
For
I
=
1
To
Len
(SourceString)
MidWord
=
Mid
(SourceString,I,
1
)
MidWordValue
=
Asc
(MidWord)
TableIndex
=
TableIndex
+
1
If
TableIndex
>
Len
(Table)
Then
TableIndex
=
1
ResultValue
=
Asc
(
Mid
(Table,TableIndex,
1
))
Mod
MidWordValue
Result
=
Result
+
Hex
(ResultValue)
Next
I
SourceString
=
Result
Next
t
Dim
BitTORool
As
Integer
For
t
=
1
To
Len
(
CStr
(SRC))
BitTORool
=
SRC
And
2
^
t
For
I
=
1
To
BitTORool
SourceString
=
Right
(SourceString,
1
)_
+
Left
(SourceString,
Len
(SourceString)
-
1
)
Next
I
Next
t
If
PASSWORD
=
GETSERIALPASSWORD
Then
getSerial
=
SourceString
Else
getSerial
=
"
你无权获得软件序列号
"
End
If
EndFunction
'
验证序列号是否正确
Public
Function
IsSerial(ByValSerial
As
String
)
As
Boolean
If
Serial
=
getSerial(GetApplySerial(),GETSERIALPASSWORD)
Then
IsSerial
=
True
Else
IsSerial
=
False
End
If
EndFunction
Public
Function
checkSerial()
Dim
II
As
New
INI
II.FileName
=
"
D:akJFManageserial.ini
"
'
INI文件名
II.AppName
=
"
SERIAL
"
'
INI小节名称
II.KeyName
=
"
Serial
"
'
INI项目名
Serial
=
II.GetINI
If
IsSerial(Serial)
Then
checkSerial
=
"
通过注册码检查
"
Else
checkSerial
=
"
没通过注册码检查,请在serial.ini文件中设置注册码
"
II.KeyName
=
"
ApplySerial
"
'
INI项目名
II.ValueStr
=
GetApplySerial()
II.WriteINI
End
If
Set
II
=
Nothing
EndFunction
原作者:heraldboy
本文地址:
http://www.45fan.com/dnjc/72987.html
Tags:
获得
编程
asp
编辑:路饭网
上一篇:
安装Eclipse与插件的方法
下一篇:
图片交替显示代码的方法
相关文章列表
百度经验参与5周年抽奖活动获得免费话费
如何利用excel vba编程在窗体上绘制简笔
在excel vba编程中绘制犀牛的方法
宏碁蜂鸟Aspire S13笔记本性能的详细信息
如何使用excel vba编程绘制简笔画鸽子?
MyEclipse6.5编程的时候开启自动提示和代
如何使用excel vba编程画黑猩猩?
在myeclipse中显示编程代码的行序号的方
获得爱奇艺VIP的方法技巧
调用ASP+JAVASCRIPT的数据库的步骤
推广内容
推荐阅读
热门推荐
推荐文章
·
如何为Excel2010表格中的图表添加说明文
·
Win7系统看电影时,如果有QQ消息,电影声
·
WPS文字文档中,如何给指定的文字添加边
·
盘点制作PPT时常用的一些快捷键大全
·
分享一组Win8系统不太为人所知的小技巧
·
系统遇到特殊故障时,如何进入Win10系统
·
电脑系统损坏要如何修复?修复win10系统
·
想找回关闭的网页该怎么办?怎样查看360
·
实现电脑每天定时关机,借助Win7任务计划
·
什么是Telnet协议?Win7如何开启Telnet服
·
电脑时间出现差错时如何进行北京时间校准
·
电脑运行速度慢,C盘空间越来越小,如何
关于我们
|
联系我们
|
友情链接
|
网站地图
|
Sitemap
|
App
|
返回顶部